10 2016 档案

摘要:题意: 给你k个数的和和k个数的最小公倍数。问你一共有多少满足条件的解。 用三维来表示状态。 dp[i][j][k]。表示长度为i。和为j。最小公倍数为k的方法数。 设a为解的第i+1个数。 那么状态转移就为 dp[i+1][j+a][lcm(a,k)]+=dp[i][j][k]。 lcm为最大公倍 阅读全文
posted @ 2016-10-14 19:23 十目 阅读(157) 评论(0) 推荐(0)
摘要:参考自:http://www.cnblogs.com/kuangbin/archive/2012/11/08/2761425.html 很容易想到三分应该可以 此题明显是满足凸性的,用三分法很简单解决了。 在圆上分成两个半圆,0-Pi,Pi-2Pi,做两次三分法就解决了。(不过那个矩形只有对角线,是 阅读全文
posted @ 2016-10-14 16:49 十目 阅读(224) 评论(0) 推荐(0)
摘要:1 参考自:http://blog.csdn.net/Miracle_ma/article/details/52737597?locationNum=1 2 给你n个点,m条边,然后告诉你选择一个点集S 3 如果里面有一个子集A,A里面的点都不相连,或者都相连,则这个点集不稳定 4 求不稳定的个数 5 子集A的大小是大于等于3,所以考虑到6个点的图,里面肯定有3个点,互相有边,或者互... 阅读全文
posted @ 2016-10-12 15:51 十目 阅读(430) 评论(0) 推荐(0)
摘要:题意:给你一个环,环有n个点,编号0~n-1,每个点有一定的权值,从点0出发沿编号走,到达某一个节点则把目前总权值加上这个节点的权值,如果结果小于0则变成0。现在给你最多可以走的步数P和最大需要到达的权值大小G,问你需要的最小的初始权值为多少,能在P步内能够产生的最大权值大于等于G题解:很容易想到初 阅读全文
posted @ 2016-10-11 10:00 十目 阅读(954) 评论(0) 推荐(0)
摘要:pi = acos(-1);double getlen(int n,double r) { return 2.0*r*tan(pi/n);} 阅读全文
posted @ 2016-10-03 18:32 十目 阅读(713) 评论(0) 推荐(0)
摘要:题意:若干微博账户形成了一个转发树(即一个有根树)。每个账户有自己的价值,每个账户也有自己的态度(赞或蜡烛)。如果一个账户的态度是“赞”,它的价值就会被加到“赞”的一边,反之亦然。Edward可以从“赞”的一边拿出X 的价值去翻转一个账户,即把它的态度换到相反的一边。但是Edward 发现,有的账户 阅读全文
posted @ 2016-10-03 17:38 十目 阅读(310) 评论(0) 推荐(0)
摘要:题意:一个数的二进制表示如果是一个周期数那么它就是需要的,问[l,r]中有多少个好的数 题解:明显很像数位DP,枚举第一周期的长度,根据第一周期的数值大小来确定有多少种方案,注意首位不能为0.然后就是要注意去重问题,因为对于第一周期长度为k算到的数字,长度为k可以整除的数时必定也算过一遍,减一下就好 阅读全文
posted @ 2016-10-02 17:57 十目 阅读(259) 评论(0) 推荐(0)
摘要:1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 using namespace std; 8 typedef long long ll; 9 const ll INF = -100000000000ll; 10 const double eps = 1e-8; 11 const int m... 阅读全文
posted @ 2016-10-02 14:01 十目 阅读(307) 评论(0) 推荐(0)