- 博客(198)
- 收藏
- 关注
原创 LA4356 Fire-Control System
我开始的想法:半径最多n个,夹角(与x轴正半轴夹角)最多n个,离散一下然后按半径排序,对于每种半径在那一圈上用前缀和搞一搞然后用滑动窗口确定最小面积
2016-12-12 18:59:48 333
原创 LA4726 Average
斜率优化,如果对于右端点ii,选泽左端点前一个位置jj的答案为(sum[i]−sum[j])/(i−j)(sum[i]-sum[j])/(i-j) 。
2016-12-12 11:45:03 486
原创 UVa 10827 Maximum sum on a torus
看了看提交记录里好像10ms的挺少,说明大家都是n^4乱搞?那我也许可以说说n^3做法
2016-12-12 08:49:07 333
原创 LA 3266 Tian Ji -- The Horse Racing
这神奇的贪心我是并没有想出来,只会做没有平局的情况,感觉自己太傻比,不知道怎么冲省选了。
2016-12-09 11:52:29 449
原创 LA 4725 Airport
题解本来很简单一个题但是最近智商真的不行,check没想出好写的方法。找的题解:http://blog.csdn.net/hyczms/article/details/44105403,还有关于二分的下界为什么不是max(a[i],b[i])而是1我表示不能理解(wa了无数遍),到时候等杯哥做完了再问问。
2016-12-09 10:00:12 612
原创 UVa 10859 Placing Lampposts
题目UVa 10859 Placing Lampposts题解先读清楚题是覆盖边,和最大独立集是有区别的,然后无向无环就是森林!然后,,这题是看了题解的,感觉也不是比较难_ (:зゝ∠) _但是又不是很容易想出来,dp[i][0]表示父节点没放灯,然后应该就懂了。还有就是根节点的父亲是不能放的所以要+dp[root][0]代码//QWsin#include<cstdio>#include<cst
2016-12-08 16:05:06 441
原创 LA3983 Robotruck
看到1e5有点慌,后来发现是个序列dp,然后依次的曼哈顿距离是可以用前缀和实现优化的,然后发现像个线段树,然后发现可以O(1)更新,然后发现自己完全没管载重C,好像会过期?那不就是单调队列吗。。xjb写写写。好像中间把式子推错了一个,cal里面是-sum[p+1]推成了-sum[p]查了一会儿。(好像斜率优化啊而且斜率优化我也经常推错式子(:зゝ∠)
2016-12-08 15:57:29 791 2
原创 LA4794 Sharing Chocolate
看到数据范围就是状压嘛,,本来觉得复杂度x*3^n太高了会炸结果就是那样。然后发现自己忽略了很多状态是不合法的不会被转移到,所以推荐使用记忆化搜索。然后注意一下,还是输出的时候,特判了之后要么return要么另外输出的时候加else 一个else没看到花了20min,简直了。
2016-12-08 15:46:42 495
原创 LA 3695 Distant Galaxy
题目LA 3695 Distant Galaxy题解没啥好说的,先离散, 我是枚举两行,固定两行之后就成了序列上的问题了。sum[i]表示两行一共的横向前缀和,f[i]表示第i列在这两行中间的有多少,这样对于确定的两列i,j有ans=f[j]+f[i]+sum[j-1]-sum[i],然后发现对于确定的i,找到一个位置j使得sum[j-1]+f[j]最大即可,所以倒着枚举左端点,可以做到O(1)最大
2016-12-07 11:38:14 420
原创 11.04 noip模拟赛总结
65/100 -> 100/100 ->100/10070/100 ->100/10075/100 ->75/100245/300 ->270/300
2016-11-04 11:53:52 619
原创 [HNOI2008]GT考试
题目[HNOI2008]GT考试题解 嘛,其实是 KMP+矩阵快速幂优化DP 这道题一开始想简单了qwq,认为不能到下一个的都只能往0位置匹配,居然过样例了,坑,后来才发现要用类似AC自动机的思想。 考虑裸DP,用dp(i,j)表示还要走i步,当前已经匹配到j位置的方案数。转移其实很好转移,用to(i,j)表示匹配到i位置时如果再填一个j(0<=j<=9)应该匹配到的位置。类似AC自动机。然
2016-11-03 15:16:12 843
原创 洛谷 P1472 奶牛家谱 Cow Pedigrees
题目传送门题解 话说今晚随便水了水奶牛题,发现有的题虽然不难,但是质量确实高。以后没事就水水。 dp(i,j)表示i个节点深度为j的树有多少个。那么如果直接转移的话,需要先枚举左子树节点个数k,和一个dep(因为至少有一个子树的深度为j-1)然后如下转移。 dp(i,j)=sigma(dp(k,j-1)* dp(i-k-1,dep))+s igma(dp(k,dep)* d
2016-10-23 22:16:21 572
原创 bzoj 3631 [JLOI2014]松鼠的新家
题目传送门题解 看到某Yuta的树总结觉得LCA+树上差分挺好写而且差分没写过准备水一发结果水了一上午qwq。因为第一次写树上差分和树剖求LCA,结果树剖版子某处打错了。。(而且差分点和差分边还是有一定区别的)。 这题可以用树剖水部分分,不过n有30w,log方就会被卡了。所以利用差分思想把区间修改转化为点修改。给每个点一个tag表示新增值(貌似怪怪的)。如果有条路径(i,j)需要标记那么进行
2016-10-22 11:38:57 535 5
原创 codevs 3325 过山车 DP
题目codevs 3325 过山车题解 和裸的线段覆盖差不多,但是我数组开小了还是没能1A。dp[ i ][ j ]表示覆盖到i的长度,用了j的代价获得的最大快乐值。先把物品按右端点排序之后,依次扫描有没有可以用来转移的物品。也就是说如果存在一个物品m使得m.x+m.len==i(右端点在i),那么: dp[ i ][ j ]=max(dp[ i ][ j ],dp[ m.x
2016-10-14 07:30:33 486
原创 codevs3037 线段覆盖5 离散化DP
题目codevs3037 线段覆盖5 题解 不懂某些人为什么要用BIT = = 。这样会带坏小朋友的啊喂(虽然说刷到大师了写个BIT就是一分钟的事)。不过你强行加个log会很慢的阿喂,何况这题的log大概是20。其实我写的也不好= =并没有1A而且错误还比较多 dp[i]表示到离散化之后的端点i之前最大价值。然后把线段按右端点排序,然后转移方程是这样的 dp[i
2016-10-13 16:21:12 529
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人