2016年10月27日
摘要: 一开始的思路是预处理矩阵前缀和 递推时通过前缀和判断是否合法(原图和左右反图分别一边) 这个思路有90分,但其实思路完全是不对的 附一组数据: 但原来的思路会输出3 原因在于它无法舍弃(1,1)的1从而取更优解 dp:f [ i ] [ j ] = f [ i ] [ j - 1 ] +1 为了避免 阅读全文
posted @ 2016-10-27 10:37 Absolutezero 阅读(299) 评论(0) 推荐(0) 编辑
  2016年10月25日
摘要: 如果没有 b [ i ] 就是01背包 加上 b [ i ] 这个属性,我们可以考虑:对于1,2两个, 先完成1的价值p=a[1]-b[1]*c[1]+a[2]-b[2]*(c[1]+c[2]) 先完成2的价值q=a[2]-b[2]*c[2]+a[1]-b[1]*(c[1]+c[2]) p>q 要求 阅读全文
posted @ 2016-10-25 16:35 Absolutezero 阅读(201) 评论(0) 推荐(0) 编辑
  2016年10月24日
摘要: 双线程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 阅读(163) 评论(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 阅读(286) 评论(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 阅读(241) 评论(0) 推荐(0) 编辑
  2016年10月20日
摘要: EZOI+1 【问题描述】 “君不见Oxer 感染 AHdoc,愈发喜爱毒瘤题。 “君不见多组数据卡常数,难写难调难对拍 “……” 一首《将进酒》道出了Oxer 对于毒瘤题的热爱与执着。 现在,他开始对一些毒瘤题进行分类,开始时,每道毒瘤题都是各自一类,每次,他会选择两道毒瘤题,认为他们是类似的(我 阅读全文
posted @ 2016-10-20 21:33 Absolutezero 阅读(273) 评论(0) 推荐(0) 编辑
摘要: O(n^2) LIS 附带方案数 思路: b [ i ] :以第i天为结尾,最大购买次数 f [ i ] :到第i天,最大购买次数 ok [ a [ i ] ]:在与 a [ i ] 价格相同的情况下,该价格是否为最优 y:当前 i ,循环到 j 时的最大 b [ ] 转移方程:b [ i ] = 阅读全文
posted @ 2016-10-20 12:50 Absolutezero 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 一道很好的EZOI模拟赛的题 忘了原题了…… 【题目描述】 有两个集合 X 和 Y , 每个集合中有 n 个正整数元素, 分别为 1 , 2 , .....n.。现在要从这两个集合中各选一个元素, 并要求这两个元素的乘积小于等于 n. 求选这两个元素的方案数. 【数据范围】 对于 30% 的数据,n 阅读全文
posted @ 2016-10-20 11:07 Absolutezero 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 暴力显然 正解,我们发现每个操作仅仅修改一对小写字符,所以实际上只是将所有的字符a映射到b 所以对于26个小写字符建立一个映射表,初始时 a --> a,b --> b... 每次修改只需遍历映射表并修改,最后参照映射表输出即可 1 #include<cstdio> 2 #include<cstri 阅读全文
posted @ 2016-10-20 10:37 Absolutezero 阅读(753) 评论(0) 推荐(0) 编辑
  2016年10月13日
摘要: 题意:随机产生3个正整数,作为一个三角形的三条边,求他们构成一个三角形的概率 思路: 构成三角形:a + b > c --> a/c + b/c > 1 即:两个小数的和大于1 那么建立平面直角坐标系,x,y取值均为0~1, 直线 x + y = 1将此正方形平分, 在它之上的为即和 > 1 故概率 阅读全文
posted @ 2016-10-13 10:39 Absolutezero 阅读(393) 评论(0) 推荐(0) 编辑