上一页 1 ··· 8 9 10 11 12 13 14 下一页
摘要: 不难想,就是求中位数,但是一直没过是因为要求输出的第三个东西没大看明白。我以为偶数情况中间两数不同的话要输出2,看了别人的解题报告才明白要输出的是这两个数之间有多少个数。真费解。。//============================================================================// Name : 10057.cpp// Author : // Version :// Copyright : Your copyright notice// Description : Hello World in C++, Ansi-style//==== 阅读全文
posted @ 2011-05-22 10:38 KOKO's 阅读(347) 评论(0) 推荐(0) 编辑
摘要: 要求每次都输出的约瑟夫环#include <iostream>#include <cstdio>#include <cstring>using namespace std;char s[100][30];int flag[100];int n, w, S, num, k;int main(){ while(scanf("%d", &n)!=EOF) { for(int i = 1;i <= n;i++) { scanf("%s", s[i]); flag[i] = 1; } scanf("%d, 阅读全文
posted @ 2011-05-21 22:00 KOKO's 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 最小的显而易见,最大的类似求即可//============================================================================// Name : 10714.cpp// Author : // Version :// Copyright : Your copyright notice// Description : Hello World in C++, Ansi-style//============================================================================#i 阅读全文
posted @ 2011-05-20 22:04 KOKO's 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 这个一开始上来没思路,感觉是贪心,但不知道怎么贪,看了看接替报告理解了:先把4,5,6这种单独占一个包需要的包求出来,3的话每4个算一个包,然后再算2的,按2的填前面那些包中的空隙,2的填完后如果2的还有剩余再添加包的个数,最后把前面所有包剩余的空隙都按1的填,如果不够再添加包的个数//============================================================================// Name : 311.cpp// Author : // Version :// Copyright : Your copyright notice// 阅读全文
posted @ 2011-05-20 21:06 KOKO's 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 这道题要对全部为1的情况特判,因为这种情况下与一般的nim游戏下不同//============================================================================// Name : hdu1907.cpp// Author : // Version :// Copyright : Your copyright notice// Description : Hello World in C++, Ansi-style//========================================================== 阅读全文
posted @ 2011-05-19 10:07 KOKO's 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 明显的打表题,一开始想暴,发现太慢太慢了,后来加了个二分,很快就出答案了打表程序如下#include <iostream>#include <cstdio>using namespace std;long long sum[100000000];int l ,r, mid;int main(){ for(long long i = 1;i <= 100000000;i++) { sum[i] = sum[i-1]+i; } for(long long i = 2;i <= 100000000;i++) { l = 1; r = i; while(l < 阅读全文
posted @ 2011-05-19 01:05 KOKO's 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 一道小水博弈,推一下就出来了#include <iostream>#include <cstdio>using namespace std;int N, n, m;int main() { scanf("%d", &N); while(N--) { scanf("%d%d", &n, &m); if(n%(m+1) == 0) printf("second\n"); else printf("first\n"); } return 0;} 阅读全文
posted @ 2011-05-18 23:52 KOKO's 阅读(82) 评论(0) 推荐(0) 编辑
摘要: dfs+SG函数,游戏描述是你在一个有向图上有N棋子,你能将棋子进行移动,到棋子都移动到出度为0的顶点时就不能再移动,此时不能再移动的player就算输.这道题是最典型的有向图游戏的博弈,方法其实在ACM中的博弈游戏综述(2)中已经进行了介绍,做DFS深搜,把所有节点的SG值都算出来,然后对每个棋子的SG值进行异或运算,得出不等0就是WIN,0和的局面就是LOSE。//============================================================================// Name : 1524.cpp// Author : // Versi 阅读全文
posted @ 2011-05-18 23:32 KOKO's 阅读(366) 评论(0) 推荐(0) 编辑
摘要: 就是个标准的二分题,查找到应该插入的位置两边哪个数和这个数的差的绝对值最小即可//============================================================================// Name : 10487.cpp// Author : // Version :// Copyright : Your copyright notice// Description : Hello World in C++, Ansi-style//======================================================= 阅读全文
posted @ 2011-05-17 22:34 KOKO's 阅读(510) 评论(0) 推荐(0) 编辑
摘要: 开始看错题了,以为是求第n个数为多少,实际应该是求第n位的数字是几,是一个0~9的数字,我用两个数组存,sum[i]为最大数为i时其前面有多少位数,f[i]表示最大为i时1~i共占了多少位//============================================================================// Name : 10706.cpp// Author : // Version :// Copyright : Your copyright notice// Description : Hello World in C++, Ansi-style// 阅读全文
posted @ 2011-05-17 21:41 KOKO's 阅读(311) 评论(0) 推荐(0) 编辑
上一页 1 ··· 8 9 10 11 12 13 14 下一页