HDOJ 1249 三角形『平面分隔』

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1249 分隔平面公式 下面是我自己查找的公式,没有推到过程,但可以给一些链接 http://hi.baidu.com/matrixwhisper/item/6bfe48522351e0d19e266717 http://qianmacao.blog.163.com/blog/static/20...
阅读(245) 评论(0)

HDOJ  2516  取石子游戏

题目:http://acm.hdu.edu.cn/showproblem.php?pid=2516 这道题就是简单的博弈,但是分析时候要一点时间。 分析:        n = 2时输出second;        n = 3时也是输出second;        n = 4时,第一个人想获胜就必须先拿1个,这时剩余的石子数为3,此时无论第二个人如何取,第一个人都能赢,输出first;  ...
阅读(211) 评论(0)

HODJ 4111 Alice and Bob(博弈)

题目:http://acm.hdu.edu.cn/showproblem.php?pid=4111 题意:有N堆石头,可以把两堆合成一堆,也可以把一堆去掉一个。 由于总数不变,最终总是要一个个拿完。那么有机会获胜的一方,肯定是先要把所有的合在一起,那么最终就拼奇偶数了。所以双方都要合并。总共就是sigma(ai)+n-1 然而,特殊情况出现了。当某些堆石子只有一颗的时候呢?只要本来要输的那个...
阅读(217) 评论(0)

strstr函数[字符串处理]

#include #include #include using namespace std; int main() {     char s[]="Hello Word!";     char l[]="ell";     char *p;     p=strstr(s,l);     if(p)         printf("%s\n",p);     else         printf...
阅读(220) 评论(0)

POJ 2774 Long Lon…

题目链接:http://poj.org/problem?id=2774 给出两个长度均不大于100000的字符串 求出这两个字符串的最长公共子串。 #include #include #include const int N=100005*2; int suff[N],r[N],Height[N],rank[N]; int wa[N],cnt[N],wb[N],wv[N]; i...
阅读(189) 评论(0)

POJ 1743 Musical Theme[后缀数组]

题目链接:http://poj.org/problem?id=1743 题目大意 给定一段音乐乐谱,其中的音符用数字表示出来( 范围 [ 1,88 ] ),要求的是这段乐谱的主旋律。所谓的主旋律,就是满足以下三点要求的一段子串:   1、音符的数目至少为5;   2、重复出现在乐谱中的另一个地方;   3、不相互叠加; 先二分答案,把题目变成判定性问题:判断是否存在两个长度为k 的子串是相同的...
阅读(210) 评论(0)

POJ 3261 Milk Patterns[后缀数组]

题目链接:http://poj.org/problem?id=3261 题意:N头牛,每头牛有一个编号,求可重叠的“至少”出现K次的“最大子串”。 思路: 后缀数组+二分。 二分答案,然后将后缀分成若干组。不同的是,这里要判断的是有没有一个组的后缀个数不小于k。如果有,那么存在k 个相同的子串满足条件,否则不存在。这个做法的时间复杂度为O(nlogn)。 代码:   #include ...
阅读(221) 评论(0)

HDOJ 1316 How Many Fibs?

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1316 #include #include #include using namespace std; const int Max=2001; char f[Max][Max]={"1","1","2"}; char tmp[Max],str1[Max],str2[Max]; void set(cha...
阅读(249) 评论(0)

HDOJ 1316 2^x mod n = 1

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1395 题目注意一下n小于等于1的处理…… #include #include using namespace std; //蒙哥马利快速幂 int Montgomery(__int64 a,int b,int c){     __int64 ans=1;     while(b){         i...
阅读(258) 评论(0)

快速幂取模运算

1.模取运算的性质 (1)(a+b)%c = ((a%c)+(b%c))%c (2)(a*b)%c = ((a%c)*b)%c 2.快速幂乘计算a^b (1)a,b都为正数,将b二进制化 (2)时间复杂度为logb,乘法次数不是最少的 __int64 power = 1; while(b > 0){     if(b&1) power *= a;     a *= a;     b >...
阅读(290) 评论(0)

POJ 2406 Power St…

#include #include const int N = 1000000+10; char str[N]; int next[N]; int len; void GetNext1(char str[N],int next[N])//寻找模式串的粗略next {     int l=strlen(str);     next[0]=-1;     int i=0,j=-1;     while...
阅读(230) 评论(0)

【转载】C语言中scanf格式化输入函…

scanf函数,与printf函数一样,都被定义在stdio.h里,因此在使用scanf函数时要加上#include。它是格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中,其关键字最末一个字母f即为“格式”(format)之意。 [编辑本段]scanf函数的一般形式   scanf(格式控制,地址表列)   int scanf(char *format[,argume...
阅读(253) 评论(0)

HDOJ 1242   Rescue

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1242 代码: #include #include #include #include #include using namespace std; const int MAXN=200; const int INF=10000000; typedef struct points{     int x,...
阅读(223) 评论(0)

HDOJ 4278  Faulty Odometer

题目:http://acm.hdu.edu.cn/showproblem.php?pid=4278 题目意思为:有一个里程表没有3,8这两个数字0,1,2,4,5,6,8,9这八个数字构成一个循环(一个八进制)但数字的顺序不一样,先将给定的数字转化为实际的数字(八进制),再将八进制转化为十进制 代码: #include #include using namespace std; int main...
阅读(230) 评论(0)

POJ 2364 Balanced Lineup

转载:http://blog.csdn.net/niushuai666/article/details/7401403 题目链接:http://poj.org/problem?id=3264 题目大意: 一个农夫有N头牛,每头牛的高度不同,我们需要找出最高的牛和最低的牛的高度差。 解题思路: 我是用RMQ写的。 N为50000,Q为200000,如果我们暴力的话,需要50000*200000=1...
阅读(266) 评论(0)
351条 共24页首页 上一页 ... 6 7 8 9 10 ... 下一页 尾页
    个人资料
    • 访问:243976次
    • 积分:3469
    • 等级:
    • 排名:第10625名
    • 原创:324篇
    • 转载:17篇
    • 译文:10篇
    • 评论:34条
    博客专栏
    最新评论