摘要:
1080. Map ColoringTime Limit: 1.0 secondMemory Limit: 16 MBWe consider a geographical map withNcountries numbered from 1 toN(0<N<99). For every country we know the numbers of other countries which are connected with its border. From every country we can reach to any other one, eventually cross 阅读全文
摘要:
代码如有错,请指出找规律题。。。打的表如下:View Code n 满足有公因子且不整除的数的个数 满足为奇数的个数(要求的答案)1 0 02 0 03 0 04 0 05 0 06 1 17 0 18 1 29 1 310 3 411 0 412 3 513 0 514 5 615 4 616 4 617 0 618 7 719 0 720 7 821 6 822 9 923 0 924 9 1025 3 1126 11 1227 6 1228 11 1329 0 1330... 阅读全文
摘要:
67270642012-09-09 17:39:14Accepted42780MS212K853 BG++若代码有错,请指出^^分析: 相当于将十进制转换为8进制。。。View Code 1 #include <cstdio> 2 #include <cstring> 3 #include <algorithm> 4 5 using namespace std; 6 7 int n, m, l, ans; 8 int a[20]; 9 int p[11];10 11 int main()12 {13 p[0] = 1;14 for (int i = 1; i 阅读全文
摘要:
题目: 问给出的数字在字符串中出现的次数(有映射关系的) 分析: 直接map<int,int> 记录给出的数,然后对于每个字符串,可以先转换成一个整数(长度小于7),然后若该数在map中, 这更新相应的计数器即可若代码有错,请指出^^67268252012-09-09 17:10:30Accepted428793MS688K839 BG++View Code 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <map> 5 6 using 阅读全文
摘要:
题目:若代码有错,请指出 求满足X^Z + Y^Z + XYZ = K K (0 < K < 2^31), (X < Y, Z > 1)分析:注意到z的值最大为30(x<y所以y>=2) 当k==2时,直接利用完全平方公式判断即可,可变成(x+y)^2 = k 当k>2时,直接枚举z,x,y可以水过(z>2时x的值最大为1290左右)67268502012-09-09 17:12:22Accepted4282281MS472K1151 BG++View Code 1 #include <iostream> 2 #include < 阅读全文
摘要:
题目: 给出一棵树,现要从树的1号节点走到n号节点,每条边都需要一定的时间才能走过,并且每个节点有相应的财宝,现在给出时间t,问能不能在时间t之内走到n节点且使得所获得的财宝最多(每个节点的财宝只能收集一次)分析: 先spfa算出1号节点走到n号节点所经过的节点,算出的最短路若不满足小于等于给定的时间t,要被饿死。在spfa中,用path数组记录每个节点的前驱以及该节点是从那条边过来的,走完之后,用n的前驱把该路上的边权全部更新为0,表示不用时间花费,再在深搜之前把总时间减掉他即为其他走过了两次的不在最短路径上面的节点所花费的时间总和。 树上背包的转移方程为 dp[x]... 阅读全文
摘要:
题目: 给出2*n个矩形(给出长和宽),问前n个矩形能够套上最多多少个后n个矩形分析: 把前n个矩形与后n个矩形分开在两数组中,然后分别先对长x(或宽)排序,排序结束后,只需要满足另外一个条件y就行。 在这里我们利用贪心的思想,每次从后n个矩形中满足x1>=x2且y2值尽可能最大,要维护y2值最大,我们可以使用平衡树(SBT、AVL、TREAP)或者Splay来维护都行,另外可利用STL的福利,直接调用multiset<int> s;维护即可,具体的应用请百度、谷歌,代码如下: 稍后我把SBT的弄上来View CodeSBT的如下:View Code 1 #include & 阅读全文
摘要:
题目: 给出n条边,每条边有一定的长度,现在要用所有的边围成三角形,问能够围成多少个不同的三角形(三边至少有一边不等)。 分析: 对三角形进行编号,A,B,C三边,所有的边必定在其中的一条上面,只要三进制压缩枚举每条边所在的位置即可,也可以直接 dfs枚举即可。另外注意到第一根木棍肯定在三角形的一条边上,所以根据对称关系,可以直接把他放在a号边即可View Code #include <cstdio>#include <cstring>#include <set>#include <algorithm>using namespace std;co 阅读全文
摘要:
SBT的资料很多(陈启峰的论文以及下面的blog),在这里就不再叙述:给出下面几道题目以及代码:http://www.cnblogs.com/reflec94/archive/2011/01/22/1942095.htmlBZOJ 1208 [HNOI2002]营业额统计{Insert , pred , succ , find}View Code 1 /* 2 3 题目: 4 最小波动值= min { | 该天以前某一天的营业额-该天的营业额 | } 5 6 分析: 7 求前驱以及后继与当前的数相减的绝对值的最小值。 8 9 */ 10 #incl... 阅读全文
摘要:
1208: [HNOI2004]宠物收养所Time Limit:10 SecMemory Limit:162 MBSubmit:1994Solved:689[Submit][Status][Discuss]Description最近,阿Q开了一间宠物收养所。收养所提供两种服务:收养被主人遗弃的宠物和让新的主人领养这些宠物。 每个领养者都希望领养到自己满意的宠物,阿Q根据领养者的要求通过他自己发明的一个特殊的公式,得出该领养者希望领养的宠物的特点值a(a是一个正整数,a<2^31),而他也给每个处在收养所的宠物一个特点值。这样他就能够很方便的处理整个领养宠物的过程了,宠物收养所总是会有两种 阅读全文