摘要: http://acm.hdu.edu.cn/showproblem.php?pid=2639 在背包的基础上维护一个size<=K的最大值集合,为什么维护K个就好了呢,因为如果当前状态有多余K个最优解,前K个就足够转移到下一状态并占满前K了,所以K个之后的都没必要维护。 阅读全文
posted @ 2017-10-27 20:15 Luke_Ye 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 思想是分割成三角形,然后求三角形的重心。那么多边形重心就是若干个三角形的重心带权求中心,可以用质点质心公式。 阅读全文
posted @ 2017-10-27 15:13 Luke_Ye 阅读(190) 评论(0) 推荐(0) 编辑
摘要: #include #include #include #include #include #include #include #include #include #include #define ll long long int #define eps 0.0001 #define fo1(s,e) for(ll i=s;i>t; while(t--){ long lon... 阅读全文
posted @ 2017-10-27 14:25 Luke_Ye 阅读(702) 评论(0) 推荐(0) 编辑
摘要: 整数划分变形,由2^k组成。 整数划分中一个节约内存的技巧,平时我们使用dp[i][j]维护用不大于j的数组合成i的方案数,所以必须dp[i-j][j]->dp[i][j]。这样就需要二位,如果用一维dp[i-j]->dp[i]就会导致重复选取的情况。其原因在于dp[i-j]在计算的过程已经把大于j 阅读全文
posted @ 2017-10-27 11:12 Luke_Ye 阅读(173) 评论(0) 推荐(0) 编辑