摘要: 连接:http://acm.hdu.edu.cn/showproblem.php?pid=4602题目大意是给你一个数的N的加法构成中另外一个数k的出现次数。如 4=1+1+1+14=1+1+24=1+2+14=2+1+14=1+34=2+24=3+14=41出现了12次。这题是赵鹏搞出来的。一个数N可以分成好N个块,如果说N= 5,K= 2 那么则会有(0|0|0|0|0)0|00|0这样的可以出现或者在边上的情况00|或者|00,才能保证有00会出现,因为122中2出现两次,所以不用怕出现重复的情况。代码: 1 #include 2 #include 3 #include 4 #inclu 阅读全文
posted @ 2013-07-23 21:32 某某。 阅读(409) 评论(0) 推荐(0) 编辑
摘要: 连接http://acm.hdu.edu.cn/showproblem.php?pid=4608题目大意:给你一个数N,让你每一位上的数字加起来之后可以被10整除的大于N的数中最小的一个。一开始想错了,想BFS,后来一想肯定不行然后去看了1003,然后发现1003不大适合我。然后就换了1009,看了一会就想想把所有的数加起来看他离%10 == 0差多少,然后从各位开始补,如果个位能补到10那就是结果,如果不能那么用两位或者更多位一定能补掉这个结果(num[n-1]+1000000-bit)%10,bit为其他加1的个数。代码如下: 1 #include 2 #include 3 #incl.. 阅读全文
posted @ 2013-07-23 21:22 某某。 阅读(403) 评论(0) 推荐(0) 编辑
摘要: 连接:http://acm.hdu.edu.cn/showproblem.php?pid=4607题目大意就是给你N个点和N-1条边,保证整个图连通(因为边的限制,所以不可能形成环),每条边长度唯一,问要到达K个点的最短路径(起点任意)。这题画了好久的图,当时就是想找最长链,任意起点,然后BFS找到最远的点,然后从最远的点再进行BFS找最远的点,那么这两个点就是最长链的两个端点,由于图是联通的,手N-1条边的限制,所以一定是一棵树,而且要到达K个点也就好球了当K>n时,所以是要到最长路的分支上去的。而且取得点一定是去了还要回来到最长链上。结果也就出来了。后来虎哥说这个最长链就是树的直径。 阅读全文
posted @ 2013-07-23 20:58 某某。 阅读(655) 评论(0) 推荐(0) 编辑