5 请_坚持思考

尚未进行身份认证

思考是你的拥有唯一的能力 请---坚持思考

等级
TA的排名 11w+

Codeforces Round #402 (Div. 2) C:Dishonest Sellers

CodeforcesRound#402(Div.2)C:DishonestSellers#include#include#include#include#include#includeusingnamespacestd;#defineMAXN200010staticintN,K,ans,A[MAXN],B[MAXN];intmain

2017-02-26 20:00:50

Codeforces Round #401 (Div. 2)C. Alyona and Spreadsheet

CodeforcesRound#401(Div.2)C.AlyonaandSpreadsheet看代码 一种新的思想dp以每行#includeusingnamespacestd;constintMAXN=100010;intn,m,a[MAXN],last[MAXN],h[MAXN],k;intmain(){ scanf("%d%d"

2017-02-24 20:41:30

hdu1281+坐标构图+二分匹配

hdu1281+坐标构图+二分匹配这道题主要就是构图思想之前的A题也是一样的但是没想明白为什么这样构图是正确的虽然说现在也没真正想清楚但是也能够进一步理解解题思路是以x和y轴建立二分图x和y分别代表两个集合如果一个点可以放车那么x,y连一条边因为是坐标的垂直方向和水平方向不能有车所以这个坐标x,y连一条边,这样就可以排除车相互攻击的可能性代表可以放东西

2017-02-24 17:06:38

poj1236 有线图的强连通分量 tarjan算法判断

poj1236有线图的强连通分量tarjan算法判断/*/*总结:这道题开始做的时候思路是正确的,但是我是把它当成无线图处理了但是这道题是有向图,有向图的连通判断是tarjan算法和kosaraju算法判断几个强连通分量无向图就是判断判断是否连通,一般有两种方法判断无向图1;并查集2;搜索,bfs,dfs;这道题判断强连通分量,然后是缩点,将一个强连通分量变成一个点,那么就变

2017-02-17 18:08:54

hdu 4009 小树形图

hdu4009小树形图这道题用到图论的一些思维方法那就是增加超级源点超级源点到其他所有点的权值是其他点打井的花费 这样的话就很好表示哪一户打井如果打井就选择相应边进行了做题时的错误:1;以为打井的深度是任意深度的  其实是固定的c原文的误解让这道题增加了难度2;写代码时总是忘记变量的匹配了 函数返回值的匹配 还有就是n值忘记改 导致runtimeerro

2017-02-10 18:02:20

次小生成树 poj1679

次小生成树poj1679遇到一道需要思考的题,所以把他写下来,见代码注释#include#include#include//什么是最小生成树?简单说就是第二小的树,这个第二小不一定是总权值第二小,也可能和MST一样的#include//题目:判断最小生成树是否唯一#include//开始的时候用的另一种枚举但是有个细节没处理掉就错了#include//最小生成树运用

2017-02-04 22:42:53

Beaver's Calculator coderforces 70A1 蓝桥杯

Beaver'sCalculatorcoderforces70A1这道题贪心思路简单但是方法对于我来说比较巧了题解看源码#include#includeusingnamespacestd;structtype{longx,y,z;}p[300000];boolcmp(typex,typey){if(x.x==y.x) ret

2017-02-02 21:02:50

floyd 算法 带输出路劲

//floyd算法带输出路劲#include#include#defineinf0xFFFFFFFusingnamespacestd;constintmaxn=100005;intn,dp[maxn][maxn],path[maxn][maxn];//floyd算法利用的是动态规划的思想。//也是可以求解矩阵的最值voidinit()//求解最小或者最短时的初

2017-01-22 18:41:39

kmp

kmp的原理还好理解但是代码比较难理解#include#includeusingnamespacestd;intnext[105];voidgetnext(char*s,intlens)//O(m+n){ intj=0;next[0]=0; for(inti=1;i<lens;i++) { while(j&&s[i]!=s[j])j=next[j-1]

2016-12-27 00:03:58

记忆化搜索 区间dp uva629

记忆化搜索区间dpuva629这题一看就知道是区间dp状态定义很简单但是在写代码的时候有个地方一直错错到我吐血下面代码中有写d(x,y,k,h)表示x行到y行k列到h列的最少数也就是子矩形的宽度和高度d(x,y,k,h)=min(d(x,i,k,h)+d(i,y,k,h)+h-k) 列的枚举也是如此#include#includeusingn

2016-12-04 20:59:35

记忆化搜索 逆向dp uva10118

记忆化搜索逆向dpuva10118       这道题开始做的时候很容易把状态定义成5维d(i,j,k,h,g)前面4个变量表示4堆糖果的现在在哪个位置而后一个g则表示篮子里有几颗糖果后面想了一下我用递推的话那么我怎么推出每个状态后面的那个g就是比较难转移好像不行因为之前很少用记忆话搜索所以没有想到这个       原来记忆话搜索有这样的好处!记忆话搜索

2016-12-04 11:18:10

STL中map用法详解

Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的,后边我们会见识到有

2016-11-27 12:35:41

石子合并 帮果实 动态规划解法

#include#include#includeusingnamespacestd;constintINF=1<<30;constintN=205;intdp[N][N];intsum[N];inta[N];intgetMinval(inta[],intn)//dp[i][j]表示的是第i到第j堆合并的最小花费{for(i

2016-11-23 15:31:30

poj1733 离散化 带权并查集的思考

poj1733解析离散化 带权并查集的思考题意是给你一个区间和区间1的个数是偶数还是奇数然后判断第一个错提问的 第一眼看到这题感觉是线段树思考一下线段树的做法线段树维护区间信息维护一个区间是奇数还是偶数线段树一个节点代表一个区间但是一个区间并不代表一个节点要多个节点存储一个信息多个交叉区间维护的话就乱掉了而且一般线段树题是多次询问所以线段树不行,这个题就是维护区

2016-11-22 20:51:07

第七届 蓝桥杯 5题

第七届蓝桥杯5题对这道题的理解#include#defineN6#defineM5#defineBUF1024voidf(inta[],intk,intm,charb[])//m是还剩下派的人{ inti,j; if(k==N){ b[M]=0; if(m==0)printf("%s\n",b); r

2016-11-15 21:18:11

分析问题

分析问题最近在做校内的题一道简单的搜索题我居然卡了很久后面问了下听了下思路我才焕然大悟开始思考了一天一直按题目所给的条件去思考按照题目条件的话就是去暴力搜索现在想下很蠢啊 是先搜所有的可能在判断一边判断一边搜特别麻烦对于我来说写不出来其实开始想的时候就没有往先搜后判因为怕这样的思路复杂度太大效率低一般大一点的赛不会出这种题所以就没有往这边想了一边判一边搜复

2016-11-15 20:52:11

快速幂取模

快速幂取模刚好过来再来理解下原理二分#include#includeusingnamespacestd;intpew(inta,intn,intm){ if(n==0)return1; intx=pew(a,n/2,m);//递归二分a^b%m=(a^2%m)^b/2 longlongans=(x*x)%m; if(n%2)//如果

2016-11-14 22:23:47

带权并查集 hdu3038

并查集hdu3038集合的应用个人感觉有点难想开始看到的时候还以为是线段树之后会想到并查集想了1个钟头出了一点思路就是维护集合中的元素到根节点的距离但是开始的时候没有考虑到左端点可以减一所以没有算出怎么判断区间集合的冲突(也就是判断错误信息比如exemple1~3和4~6这是可以合并一个区间的)后面看了下就出来了还有就是输入要输入文件的EOF才能退出 一

2016-11-03 13:23:50

poj2236 并查集第一题 思路分析

并查集第一题思路分析poj2236开始训练并查集这是做并查集第一题所以做一个思路分析有助于自己对并查集的理解题意就不解释了问题一判断各个节点之间是否可达?很明显这里可以用dfs或者并查集进行判断这里用并查集比较快因为这里并不用用到两点之间的路劲(由于比较慢,所以不用路劲来进行解决)或者其他一些信息一开始做的时候因为是先进行各个点之间用并查集单独进

2016-11-02 16:53:28

hdu4614 Vases and Flowers 二分

hdu4614VasesandFlowers二分这道题用数据结构为优化时间效率用二分来分别找出左边界答案和右边界答案这是属于线段树数据结构与其他算法的结合使用开始做的时候还死死的在线段树上做文章。。。。问题是在以A为起点的区间第一个可以插花的和最后一个可以插花的地方按照正常思路的话可以想到二分可是与线段树扯上了就只能想到在线段树上处理看来这种结合思想

2016-10-29 21:10:40

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!