上一页 1 ··· 24 25 26 27 28 29 30 31 32 ··· 34 下一页
摘要: 注意!这不是单纯的字典序排序,比如90、9,应该是990最大对字符串排序蛋疼了好久,因为别人说string很慢,所以一直没有用过。看别人用string还是比较方便的,学习一下对了,这里的cmp函数写的还是很简洁的,比我写的要好得多 1 #define LOCAL 2 #include 3 #inc... 阅读全文
posted @ 2014-08-28 11:43 AOQNRMGYXLMV 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 开始我理解错题意了,应该是这样理解的:字符串1进行映射后可以做一个置换,若置换后与字符串2相同,也是输出YES的比如ABCA 和 DDEF因此我们需要做的就是统计有多少类字母,每一类有多少个,如果相同的话,两个字符串一定是对应的 1 //#define LOCAL 2 #include 3 #in... 阅读全文
posted @ 2014-08-28 11:30 AOQNRMGYXLMV 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 题意:m行n列的矩形网格放k个相同的石子,要求第一行最后一行第一列最后一列都必须有石子,问有多少种放法A为第一行没有石子的方案数,BCD依此类推,全集为S如果没有任何要求的话,放法数应该是C(rc, k)解法中利用容斥原理来解所求的方案就是在S中但不在ABCD中任何一个的方案即:S -|A∪B∪C∪... 阅读全文
posted @ 2014-08-27 22:22 AOQNRMGYXLMV 阅读(285) 评论(0) 推荐(0) 编辑
摘要: 题意:问1~n这n个数中,选三个各不相同的数构成三角形,有多少种方案上图找规律:不妨设yx-y,即两边之差小于第三边图中列举了,x等于7和x等于8的情况那么y从2开始枚举,最右边是z的方案数我们把对应x的方案数叫做c(x),所求即是c(x)前若干项和。c(7)是从1加到n再从n加到1,是两个等差数列... 阅读全文
posted @ 2014-08-27 17:09 AOQNRMGYXLMV 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 这是一道很有质量的并查集,做完这题我对并查集又有更深一步的理解了题意:有编号1到N的A、B、C三类动物,满足A吃B,B吃C,C吃A然后有K句话说1 X Y:表示X和Y是同类2 X Y:表示X吃Y如果:X或者Y大于N,则是谎话。如果X吃X也是谎话。如果X和Y的关系能确定,并且和这句话给的X、Y的关系矛... 阅读全文
posted @ 2014-08-27 13:32 AOQNRMGYXLMV 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 在n × m 的棋盘上放两个互相攻击的皇后,问有多少种方法这道题重点不在于编程,而是数学公式的推导。其中还用到了Σ(i2)的公式,看来我高中数学没白学,嘎嘎至于推导过程,看大白书吧,嘿嘿。对了,书中有一步貌似有个小错误,不过不影响结果 1 //#define LOCAL 2 #include 3 ... 阅读全文
posted @ 2014-08-27 08:42 AOQNRMGYXLMV 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 验证第二个字符串删去若干个字符后能否得到第一个字符串逐个去匹配即可只不过思维还不够严密,WA了几次开始 1 //#define LOCAL 2 #include 3 #include 4 using namespace std; 5 6 const int maxn = 100000 + 10... 阅读全文
posted @ 2014-08-26 08:37 AOQNRMGYXLMV 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 白书上的例题比较难,认真理解样例代码有助于提高自己后面的练习题相对简单,独立思考解决问题,增强信心题意:n个绝对值各不相同的非0整数,选出尽量多的数排成序列,使得该序列正负交错且绝对值递增。解法:先按绝对值从小到大排序,然后第一个数先入队,然后依次比较后面的数,如果和队尾的数符号相反则入队,直到所有... 阅读全文
posted @ 2014-08-25 22:18 AOQNRMGYXLMV 阅读(439) 评论(0) 推荐(0) 编辑
摘要: 这道题巨坑啊,样例中以-1结束输入的,所以我就天真的以为测试数据也是以-1结束输入的其实人家原文中说:Input is terminated by a line containing a negative integer.是以负数结束输入,囧rz!我这种英语渣渣,怎么可能注意到这种错误我还以为是算法... 阅读全文
posted @ 2014-08-25 18:25 AOQNRMGYXLMV 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 这种深层递归的题还是要多多体会,只看一遍是不够的题意:有一个森林,在若干个节点处放一盏灯,灯能照亮与节点邻接的边。要求:符合要求的放置的灯最少为多少,在灯数最少的前提下,一条边同时被两盏灯照亮的边数最多是多少。因为边数为m,所以被两盏灯照亮的边数最多就等价于被一盏灯照亮的边数最少因为题目中要求两个最... 阅读全文
posted @ 2014-08-25 13:54 AOQNRMGYXLMV 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 这道题感觉挺吃力的,还用到了我不熟悉的优先队列题目中的推导也都看明白了,总之以后还要多体会才是这里用优先对列的原因就是因为要维护一个滑动区间的最小值,比如在区间里2在1的前面,2在离开这个滑动区间会一直被1给“压迫”着,所以这个2是无用的,应当及时删除。这样的话剩下的元素都是递增的,优先队列也称单调... 阅读全文
posted @ 2014-08-24 22:59 AOQNRMGYXLMV 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 这题感觉和POJ 1988 Cube Stacking 很像,在路径压缩的同时递归出来的时候跟新distant数组我发现我一直WA的原因是,命令结束是以字母o结束的,而不是数字0!! 1 //#define LOCAL 2 #include 3 #include 4 using namespac... 阅读全文
posted @ 2014-08-24 18:31 AOQNRMGYXLMV 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 最简单的并查集多做做水题,加深一下理解 1 //#define LOCAL 2 #include 3 4 const int maxn = 100000 + 10; 5 int parent[maxn]; 6 7 int GetParent(int a) { return parent[a] ... 阅读全文
posted @ 2014-08-24 18:28 AOQNRMGYXLMV 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 题意:有编号为1~N的N个小木块,有两种操作M x y 将木块x所在的堆放到木块y所在的堆的上面C x 询问木块x下面有多少块木块代码巧妙就巧妙在GetParent函数中在进行路径压缩的同时,也计算好了该木块对应的under值这个需要好好体会 1 //#define LOCAL 2 #include... 阅读全文
posted @ 2014-08-24 09:30 AOQNRMGYXLMV 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 第一道并查集,听起来很高大上的样子,其实也不难理解我感觉并查集的精髓就在那个路径压缩上面,将叶子节点直接指向根并:将两个集合合并在一起查:查询某个元素是否在该集合中题意:已知0号同学染病了,那么和他同在一个集合的同学也都可能染病了,输出可能染病的总人数标准的并查集,模板题 1 //#define L... 阅读全文
posted @ 2014-08-23 21:55 AOQNRMGYXLMV 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 简单DP,N×M的网格其中有一条边坏掉了,问从起点到终点的放法数有两种方法,一种是DP很好理解 1 //#define LOCAL 2 #include 3 #include 4 5 int dp[42][42]; 6 bool flag[42][42]; 7 8 int main(void... 阅读全文
posted @ 2014-08-23 20:01 AOQNRMGYXLMV 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 虽然这道题看起来和 HDU 1024Max Sum Plus Plus 看起来很像,可是感觉这道题比1024要简单一些前面WA了几次,因为我开始把dp[22][maxn]写成dp[maxn][22]了,Orz看来数组越界不一定会导致程序崩溃,也有可能返回一个错误的结果dp[i][j]表示前j个数构成... 阅读全文
posted @ 2014-08-23 17:45 AOQNRMGYXLMV 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 第一次做这道题大概是半个月前了吧,状压DP一个很新鲜的名词当时看题解怎么也看不懂,现在看懂了以后还是很简单的所谓状态压缩就是用一个整数的二进制来表示一个状态,比如有三个作业000表示一科作业也没做,001表示只做了第一科,111表示三科作业都做了那么从状态0开始出发,遍历每一个状态,如果对于状态S有... 阅读全文
posted @ 2014-08-23 12:57 AOQNRMGYXLMV 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 题解是看的这里的:http://www.acmerblog.com/hdu-1024-Max-Sum-Plus-Plus-1276.html当前这个状态是dp[i][j],i 表示当前的段,j表示前j个数组成了当前的这i个段的最大值,而且a[j]在最后一个段中状态dp[i][j]可以从dp[i][j... 阅读全文
posted @ 2014-08-20 19:33 AOQNRMGYXLMV 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 忽然发现HDU上还有一道残留的没A过去的水题,那是当年年轻的我太菜了(现在依然很菜)。简单的贪心,因为老鼠可以用猫粮等比例的换取每个房间里的Java豆,所以我们先换汇率高的,再换汇率低的。 1 //#define LOCAL 2 #include 3 #include 4 #include 5... 阅读全文
posted @ 2014-08-20 16:05 AOQNRMGYXLMV 阅读(152) 评论(0) 推荐(0) 编辑
上一页 1 ··· 24 25 26 27 28 29 30 31 32 ··· 34 下一页