题意 从1到n共计n(<=90)个物品,每个物品有一个价值a[i],儿子和爸爸轮流做游戏,儿子先手.儿子每次选价值最大的{最左边,最右边}的物品,如果价值一样大, 则选取最左边的物品. 爸爸每次可以取最左边或最右边的物品.  问你,爸爸想要输(价格严格小),而且差值尽可能少的最小差值是多少. 分析 首先n<=90,所以应该是个搜索,而不是dp 我们来考虑一下为什么不是dp,而只能搜索? 如果题目改成爸爸想让差值最大或者最小,那么显然可以直接dp,而这里实际上求一个大于0的最小差值,相当于在所有…
点此看题面 大致题意: 在\(n\)个数中选任意个数,并使其中至多\(k\)个数\(x_i\)变为\(x_i!\),求使这些数和为\(S\)的方案数. \(meet\ in\ middle\) 这应该是\(meet\ in\ middle\)一道比较板子的题目. 我们先对于一半的数,爆搜然后开\((k+1)\)个\(map\)统计使用\(!\)个数小于等于\(i\),和为\(j\)的方案数. 然后对于另一半数,我们再爆搜一遍,到\(map\)中去找对应的情况使得使用\(!\)个数小于等于\(k\…
震惊!map的常数居然如此之大 Description Consider equations having the following form: a1x13+ a2x23+ a3x33+ a4x43+ a5x53=0 The coefficients are given integers from the interval [-50,50]. It is consider a solution a system (x1, x2, x3, x4, x5) that verifies the eq…
数组溢出真是可怕的事情 Description You are given a strange scale (see the figure below), and you are wondering how to balance this scale. After several attempts, you have discovered the way to balance it — you need to put different numbers on different squares…
题目大意:给你一个8*8的棋盘,上面有四个棋子,给你一个初始排布,一个目标排布,每次移动,可以把一个棋子移动到一个相邻的空位,或者跨过1个相邻的棋子,在保证棋子移动不超过8次的情况下,问能否把棋盘上的棋子由初始排布变成目标排布 8*8的棋盘,刚好不爆ull,状压那些位置有棋子 然后从初始状态开始,暴搜出当前状态下,移动一个棋子之后所有可能到达的状态 直接搜,总状态数是8^8,此外还有常数,会爆 由于给定了目标排布,考虑meet in middle 从起始状态和目标状态各搜4步即可 为了防止爆栈,…
没智商了 变式可见:[构造 思维题]7.12道路建设 当你自信满满地把你认为的正确密码输入后,时光机滴滴报警 —— 密码错误.你摊坐在了地上. 黑衣人满意地拍了拍你的肩膀:“小伙子,不错嘛.虽然没解开密码,但是离解开密码也不远咯.其实刚才是个对你的考验.来加入我们保护星期日委员会吧!” 你惊讶得从地上直接 splay 了起来:“就是那个传说中的保护星期日委员会?咦,那为什么今天星期日还要上学呢?” 黑衣人:“你不是高三学生吗?”,你一脸无语.黑衣人又说道:“小伙子跟我干吧,我们一起去摧毁 III…
题目传送门(内部题67) 输入格式 第一行,三个整数$n$.$k$.$p$.第二行,$n$个自然数,表示$\{a_i\}$. 输出格式 输出一行,两个自然数,表示$f(res)$.$res$. 样例 样例输入1: 4 3 5 2 0 3 7 样例输出1: 4 4 样例输入2: 2 2 1 2 0 样例输出2: 0 2 数据范围与提示 本题有$spj$,输出格式正确的情况下,仅回答正确$f(res)$.$res$中的一个可以获得$60\%$的分数(向下取整). 题解 考虑怎样才能形成逆序对,或怎样…
复杂度分析 假设本来是n层,本来复杂度是O(2^n),如果meet in middle那就是n/2层,那复杂度变为O( 2^(n/2) ),跟原来的复杂度相比就相当于开了个方 比如如果n=40那爆搜2^40肯定T飞,那用meet in middle的话就是2^20就可做了. 洛谷P2962 [USACO09NOV]灯Lights 灯只有35个,用二进制可以表示所有灯的状态,于是考虑搜索 1表示该灯是亮的,0表示是灭的 把某一个等和与他相邻的灯的位都置1表示该灯位置的开关,用 li 数组表示,按下…
BZOJ_2679_[Usaco2012 Open]Balanced Cow Subsets _meet in middle+双指针 Description Farmer John's owns N cows (2 <= N <= 20), where cow i produces M(i) units of milk each day (1 <= M(i) <= 100,000,000). FJ wants to streamline the process of milking…
A(hdu5933):(贪心) 题意:长度为n的数组: a1, a2,⋯, 每次操作要么可以merge两个相邻的数为一个, 值为两个数的和; 要么可以把一个数分裂成两个, 两个数的和为原数. 用最少的操作把数组变换成长度为K且所有数值相等的数组, 无解输出-1 分析:注意到是只能合并相邻的数,那么从前往后,对于一段数,它们的和是所期望平均值的倍数时候,那么就将它们单独操作计算次数. B(hdu5934):(强连通分量) 题意:二维平面上有 n 个炸弹,每个炸弹有个引爆的代价和爆炸半径,问至少花费…