题意:n堆石子,每次可以从某堆中拿走若干,也可以把此堆分成两个非空堆,谁无法操作了谁输。
题解:首先我们可以打个SG函数来暴力出解,但是显然这会T。
但是不要害怕,我们打完以后发现了一个貌似对的规律:
对于所有的k >= 0,有 sg( 4k+1 ) = 4k+1; sg(
4k+2 ) = 4k+2; sg( 4k+3 ) = 4k+4; sg( 4k+4 ) = 4k+3。...
分类:
其他好文 时间:
2015-01-13 09:03:56
阅读次数:
199
题目大意:一个M*M的矩阵,(i,j)位置上的值是gcd(i,j),问这个矩阵的行列式的值。
思路:考试的时候考了这个题,有人居然打表发现规律,简直跪啊。。。
其实用高斯消元之后不难发现,要求的就是从1到m的phi的乘积,一个线性筛就解决了。
CODE:
#include
#include
#include
#include
#define MAX 1000...
分类:
其他好文 时间:
2015-01-11 09:45:57
阅读次数:
146
题意:default是汉语,自己看去。
题解:
威佐夫博弈这种恶心东西,“正常”解法是打表找规律。
但是我自认为找不出来这种规律,考试要是出了这种题……
就随便输出一个来期望50分吧。。
要是每个测点都多组数据……那……就随机输出0/1期望10分吧。
要是多组数据的组数太多,那就按照表来乱搞。
小数据打表输出,大数据233。
威佐夫用的是黄金分割数。(网上查的)
下面是代...
分类:
其他好文 时间:
2015-01-10 16:38:48
阅读次数:
205
DP问题,须要打表。dp[i][j]代表利用大小不超过i的数字组成j的方法。状态方程是 dp[i][j] = d[i - 1][j] + sum{dp[i - 1][j - k * i * i *i]};1432770511137Ingenuous CubrencyAcceptedC++0.0492...
分类:
其他好文 时间:
2015-01-02 22:22:24
阅读次数:
223
背景:老了老了,做了这么久题竟然忘了EOF来文件结束了、
心得:一定要自己调试,直到自己觉得所有情况都考虑完了还是wa再借助网络。
学习:1.此题为缩减时间可对所有m打表,然后查表即可。#include
int main(void)
{
int num, x, y, z;
while(scanf("%d", &num)!=EOF){
for (int i = 1; ...
分类:
其他好文 时间:
2014-12-29 09:06:02
阅读次数:
149
这题应该是用dp来做的吧,但一时不想思考了,写了个很暴力的,类似模拟打表,然后排序即可,要注意的是输出的格式,在这里wa了一发,看了别人的代码才知道哪些情况没考虑到。 1 #include 2 #include 3 #include 4 #include 5 #define For(i,s,t).....
分类:
其他好文 时间:
2014-12-26 00:49:12
阅读次数:
179
有时候在竞赛中我们可能会碰到一种比较棘手的题目,这种题目数据较大且运算量较大,如果直接写解可能会致使时间复杂度变得很大,少则O(n2),多则O(nn),于是问题就来了,如何设计高效解法。但是在设计高效算法之前我们一般会考虑暴力求解,今天介绍一种方法——打表。什么是打表呢?打表按个人理解就是将要用.....
分类:
其他好文 时间:
2014-12-19 20:37:14
阅读次数:
201
可以用打表找规律过这题。 但这显然不是这题的初衷。题意很简单 其实就是判断 var = ( 1^i + 2^i + ... + (p-1)^i ) ( mod p )//很重要的一个初始条件:p是素数首先 你一定要知道费马小定理。假如p是素数 并且p不整除a 那么 a^(p-1)≡1( mod p)...
分类:
其他好文 时间:
2014-12-17 22:30:45
阅读次数:
217