摘要: function get_subset(bitmask) subset = bitmask answer = [bitmask] while subset != 0 subset = (subset - 1) & bitmask put subset into the answer list end 阅读全文
posted @ 2021-02-26 20:16 visualVK 阅读(69) 评论(0) 推荐(0) 编辑
摘要: 引用大佬的定理证明文件:点击下载 需要使用到的结论: 转移方程形如dp[i][j]=minikj(dp[i][k1],dp[k][j]+w[i][j])(min可以换成max) 定义一:对任意的iijj满足$w[i] 阅读全文
posted @ 2019-03-15 09:19 visualVK 阅读(693) 评论(1) 推荐(0) 编辑
摘要: 题目: 有a,b两串字符串,现用a,b构成一个新的一个字符串,规则如下:每次只能取ab中一个头放在新的子串的末尾。定义跨度费用:同一个字母相隔的最长距离。问新构成的字符串跨度费用最小是多少。 分析: dpdp[i][j]=a移出i个,b移出j个还需花费 阅读全文
posted @ 2019-02-01 18:18 visualVK 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 一个长度为n的数组,其和能被3整除,且每一个数字满足ai[l,r],问有多少种可以满足上述三个条件的数组 分析: dpdp[i][j]=i个数构成余数为j的方案数,然后通过这个dp的定义,可以推出递推方程 $dp[i][j]=\sum_{ 阅读全文
posted @ 2019-01-31 19:25 visualVK 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 题目: Little K is interested in BnB mode of the game Crazy Arcade recently. He found it important to preview the exploding time of bombs ,so he worked h 阅读全文
posted @ 2018-11-29 17:56 visualVK 阅读(283) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 数字n可以经过两个操作 1乘任意一个整数 2对该数字开根号,但需要保证该数字能被开尽 问最少经过上述操作多少次,可以让其变成无法再进行上述两个操作的最小数字。 分析: 受官方题解启发?一个数可以分解成$n=a_{1}^{p_{1}}\cdot a_{2}^{p_{2} 阅读全文
posted @ 2018-11-18 18:48 visualVK 阅读(451) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 一个递增的数组,每个数字ai[1,103],问最多可以擦掉几个数字,仍可以让数组恢复成原来的样子。 分析: 比较容易想到,如果一个数字满足ai1+1=ai,ai+1=ai+1,那么这个ai是可以删除 阅读全文
posted @ 2018-11-18 18:36 visualVK 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 题目大意 有一串长度为n的数字,其中由一些数字看不清了(1的数字就是看不清的),而这些数字取值范围满足0a20,问满足一下条件 (1)a1a2 (2)anan1 $(3) a_{i}\leq max(a_{ 阅读全文
posted @ 2018-11-11 15:55 visualVK 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 1+sin(x)y
dp[i][num][1]=dp[i][num][0]+2j=num00dp[i1][j][1] 阅读全文
posted @ 2018-10-25 22:40 visualVK 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 斜率优化dp。首先比较容易想到: 但是很不幸,由上式的可以看出这实际上要用到两层循环,而数据量为50000,如果这样做,肯定超时,这时候需要斜率优化了。 如果递推式能变成,且单调,则可使用斜率优化。 我们将式变形,令,则 由此判断可以使用斜率优化。 关键的来了: 如果我们认为的两个方案且的方案的方案 阅读全文
posted @ 2018-10-24 17:09 visualVK 阅读(179) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示