山东省赛-博弈-Game】的更多相关文章

 id=1582" target="_blank" style="font-size:18px">点击打开题目链接  非常明显的一道博弈题目,可是在求SG的时候,子状态写错了,一直都没有AC.最后还是水过去的额.比赛后还是自己写了一遍: # include <cstdio> # include <cstring> # include <iostream> using namespace std; int sg[12…
triangle(第8届山东省赛的某题) 传送门 题意:喵了个呜,这题意真是峰回路转啊.懒死了,不想描述. 做法:我们拿set或线段树维护exp的最小值,每次取出exp值最小的边,删除之.并更新这条边所在的三元环的另外两条边的exp. nice(每次取出的边)就等于前缀最大值啦. set维护版本 #include <iostream> #include <algorithm> #include <cstdio> #include <vector> #incl…
2013年山东省赛F题 Mountain Subsequences先说n^2做法,从第1个,(假设当前是第i个)到第i-1个位置上哪些比第i位的小,那也就意味着a[i]可以接在它后面,f1[i]表示从第一个开始,以a[i]为结尾的不同递增序列的个数,要加上1,算上本身.正反各跑一遍,答案加一下(f1[i]-1)*(f2[i]-1)优化就是,比a[i]小的,只有a[i]-1个 #include<iostream> #include<cstdio> #include<queue&…
HEX SDUT 3896 17年山东省赛D题这个题是从矩形的左下角走到右上角的方案数的变形题,看来我对以前做过的题理解还不是太深,或者是忘了.对于这种题目,直接分析它的性质就完事了.从(1,1)走到(a,b)向左走的步数和向右走的步数是确定的,向下是代表向左向右各走了一步.细节:利用对称性,线性推逆元 对于每一种情况,向左下.向右下.向下的次数都是确定的,然后,对于每一种方向内部顺序不用考虑,然后排列组合就完事了对称性上又出错了,哎,自己也没找个小数据试一下,就...(a,b)和(a,a-b+…
2018山东省赛sequence因为必须要删除一个数,所以可以计算每个数删除的代价,从而选取代价最小的进行删除如果一个数大于它前面的所有数的最小值而小于次小值,删除最小值的代价就要+1:如果一个数本身就是good数,那么该数代价就要加一 #include<iostream> #include<cstdio> #include<queue> #include<algorithm> #include<cmath> #include<ctime&…
题目链接 题意 : 给出 N 堆石子,每次可以选择一堆石子拿走任意颗石子,最后没有石子拿的人为败者.现在后手 Bob 可以在游戏开始前拿掉不超过 d 堆的整堆石子,现在问你有几种取走的组合使得 Bob 能保证他在游戏开始后是必胜的. 分析 : 在没有附加规则,即 Bob 可以先取走某些堆的情况下 就是个简单的 Nim 博弈模型,后手必胜当且仅当各个堆的石子的数目的异或和为 0 那么题目就变成了,问有多少种取走组合使得剩下的石子的异或和为 0 可以发现,可取走的石子的堆数 d 的上限不大,所以这个…
转载请注明出处: http://www.cnblogs.com/fraud/          ——by fraud 2224: Boring Counting Time Limit: 3 Sec  Memory Limit: 128 MB Description In this problem you are given a number sequence P consisting of N integer and Pi is the ith element in the sequence.…
Games Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description Alice and Bob are playing a stone game. There are nn piles of stones. In each turn, a player can remove some stones from a pile (the number must be positive and no…
题目传送门 /* 题意:每支队伍需求打印机打印n张纸,当打印纸数累计到s时,打印机崩溃,打印出当前打印的纸数,s更新为(s*x+y)%mod 累计数清空为0,重新累计 模拟简单题:关键看懂题意 注意:打印机一张一张纸打印,当某支队伍打印完正好累计到s时,要输出0,坑点! */ #include <cstdio> #include <cmath> #include <algorithm> #include <iostream> #include <cst…
题目传送门 /* 题意: 求(a0*x^(2^0)+1) * (a1 * x^(2^1)+1)*.......*(an-1 * x^(2^(n-1))+1) 式子中,x的p次方的系数 二进制位运算:p = 2 ^ i + 2 ^ j + 2 ^ k + ...,在二进制表示下就是1的出现 例如:10 的二进制 为1010,10 = 2^3 + 2^1 = 8 + 2,而且每一个二进制数都有相关的a[i],对p移位运算,累计取模就行了 */ #include <cstdio> #include…