摘要:
双线程dp f [ i ] [ j ] [ k ] [ l ] 表示 走到 (i,j),返回时走到(k,l)时的(总)最大价值 1 #include<cstdio> 2 #include<cstring> 3 using namespace std; 4 const int N=52; 5 int 阅读全文
posted @ 2016-10-24 21:29
Absolutezero
阅读(170)
评论(0)
推荐(0)
摘要:
01背包,但至少取一种 f [ j ] 表示当点数之差为 j 时的最小反转次数,0<=j<=m (点数最大值之和) 我们可以不考虑每一块骨牌点差,仅考虑每次减去上面的(和翻转到上面的)数所得到的 j 则:f [ j ] = min ( f [ j - a [ i ] ] , f [ j - b [ 阅读全文
posted @ 2016-10-24 20:44
Absolutezero
阅读(295)
评论(0)
推荐(0)
摘要:
本题二分显然 关键是怎么O(n)check 我们很容易想到应该从右往左打起 我们设对于二分出的伤害值为 p,射到从左到右第s个怪物身上的子弹数为kk[s]。对于p-(i-j)*(i-j)我们将它拆开,变成-j^2+2ij-i^2+p。对于第j个怪,它受到的溅射伤害应为-(kk[j+1]+...+kk 阅读全文
posted @ 2016-10-24 16:44
Absolutezero
阅读(260)
评论(0)
推荐(0)
浙公网安备 33010602011771号