题目链接: uva 1482 - Playing With Stones
题目大意:n堆石子,给定每堆石子的个数,两个人分别从操作,每次可以从一堆中取走至少一个石子,但是不能超过一半。如果不能操作则视为失败。
解题思路:对于每一堆式子来说,可以看作一个Nim游戏,但是SG(x)并不等于x,因为每次取石子不能超过一半,所以对于偶数SG(x)=x/2,对于奇数SG(x)=SG(x/2).
...
分类:
其他好文 时间:
2014-08-06 01:59:40
阅读次数:
251
问题描述:有n个运动员进行循环赛,要求设计满足一下要求的日程表1、 每两人必须比赛一次且只比赛一次2、 每个选手每天只能比赛一次3、 要求比赛时间尽可能短(即n为偶数时比赛n-1天,n为奇数时比赛n天)一、分治法算法思想,先算n/2的日程表,然后将循环赛日程表左上复制到右下,左下复制到右上,得到n的...
分类:
其他好文 时间:
2014-08-05 10:41:39
阅读次数:
300
欧拉回路第一题TVT本题的一个小技巧在于:【建立一个存放点与边关系的邻接矩阵】1.先判断是否存在欧拉路径无向图:欧拉回路:连通 + 所有定点的度为偶数欧拉路径:连通 + 除源点和终点外都为偶数有向图:欧拉回路:连通 + 所有点的入度 == 出度欧拉路径:连通 + 源点 出度-入度=1 && 终点 入...
分类:
其他好文 时间:
2014-08-04 23:57:58
阅读次数:
588
(1)使用FOR语句,并奇数偶数分开计算再求和#includeusing namespace std;int main(){ int i,j; int sum=0,sum1=0,sum2=0;//求和之前必须先初始化为0,不然返回一个很奇怪的值 for(i=1;i=-100;j--,j--)/...
分类:
其他好文 时间:
2014-08-04 17:03:27
阅读次数:
182
题意:求一串数字里的中位数。内存为1M。每个数范围是0到2的31次方-1。思路:很容易想到把数字全部读入,然后排序,但是会超内存。用计数排序但是数又太大。由于我们只需要第n/2、n/2+1大(n为偶数)或第(n+1)/2大(n为奇数)。所以可以用优先队列来维护最值,这样只需要存一半元素(n/2+1个...
分类:
其他好文 时间:
2014-08-04 13:29:27
阅读次数:
215
题目链接:hdu 4909 String
题目大意:给定一个字符串,由小写字母组成,最多包含一个问号,问号可以表示空或者任意一个字母。问有多少个子串,字母出现的次数均为偶数。
解题思路:因为最多又26个字母,对应每个字母的奇数情况用1表示,偶数情况用0.将一个前缀串表示成一个二进制数。然后对于每种相同的数s,任选两个即为一种可行子串(组合数学). 接着对于有问号的情况枚举一下问号替代的...
分类:
其他好文 时间:
2014-08-04 02:06:56
阅读次数:
228
HDU 4909 String
题目链接
题意:给定一个字符串全是小写字符,可能有一个位置为?,问号可以替代任何字符,也可以删掉,问有多少连续字串满足所有字母是偶数个
思路:组合数学,计算所有前最串的各个字母的奇偶状态,用一个01串表示,然后记录下个数,对于每个相同的状态,任选两个就能得到一个子序列,答案为所有C(num, 2)的和。
但是这个问题多了一个?的情况,但是没关...
分类:
其他好文 时间:
2014-08-04 02:06:16
阅读次数:
233
题目连接:hdu 4910 Problem about GCD
题目大意:给定M,判断所有小于M并且和M互质的数的积取模M的值。
解题思路:有个数论的结论,若为偶数,M=M/2. 可以写成M=pk,即只有一种质因子时,答案为M-1,否则为1.特殊情况为4的倍数,不包括4.
首先用1e6以内的素数去试除,如果都不可以为p,那么对大于1e6的情况判断一下是否为素数,是素数也可以(k=1)...
分类:
其他好文 时间:
2014-08-04 02:05:06
阅读次数:
265
题目地址:HDU 4908
这个题是从m开始,分别往前DP和往后DP,如果比m大,就比前面+1,反之-1.这样的话,为0的点就可以与m这个数匹配成一个子串,然后左边和右边的相反数的也可以互相匹配成一个子串,然后互相的乘积最后再加上就行了。因为加入最终两边的互相匹配了,那就说明左右两边一定是偶数个,加上m就一定是奇数个,这奇数个的问题就不用担心了。
代码如下:
#include
#inclu...
分类:
其他好文 时间:
2014-08-03 23:17:46
阅读次数:
240
题意:给你n张牌,一开始都是背面朝下的,现在有一些操作,每次操作都可以随意改变s[i]张牌的状态,问最后的牌有多少种状态。标程题解:最终的结果一定是连续出现的,只需要求出最终的区间。因为如果对同一张牌进行两次操作,牌的状态不改变。故牌的翻转次数一定是减少偶数次。如果所有数的和是奇数,那么最终结果也一...
分类:
其他好文 时间:
2014-08-03 17:53:25
阅读次数:
222