摘要:
老实说有点虚,不知道是不是对的,不过既然A了就留下来以后再试试,,, 阅读全文
摘要:
题意:给n个数表示x轴上从0~n-1的点上柱子的高度,问用两根柱子和x轴存水最多能存多少 题解:时间O(n) 具体做法代码显示得很清楚,写一下证明的过程; 假设存在一种答案比代码跑出来的更优,设更优的两根柱子x坐标分别是l,r.因为代码会经过每一根柱子,假设先经过r柱子,因为没达到最优方案,所以必定 阅读全文
摘要:
参考自:http://blog.csdn.net/yutianzuijin/article/details/11499917/ 明显时间复杂度要求log,很容易想到二分。但是对于数组二分没法做,那就对于第(m+n)/2这个数字进行二分,因为就是要求顺序位置在这里的数 思考对于第k大的数,两个数组元素 阅读全文
摘要:
1 ListNode *ptr,*l; 2 l = new ListNode(0);//这才是正确的赋值姿势 3 ptr = l;//赋给的是地址 4 int up = 0,fg1 = 0,fg2 = 0; 5 //cout val; 12 if(fg2) b = 0; 13 else b = l2 -> val... 阅读全文
摘要:
题意: 给你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为最大公倍 阅读全文
摘要:
参考自:http://www.cnblogs.com/kuangbin/archive/2012/11/08/2761425.html 很容易想到三分应该可以 此题明显是满足凸性的,用三分法很简单解决了。 在圆上分成两个半圆,0-Pi,Pi-2Pi,做两次三分法就解决了。(不过那个矩形只有对角线,是 阅读全文
摘要:
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个点,互相有边,或者互... 阅读全文
摘要:
题意:给你一个环,环有n个点,编号0~n-1,每个点有一定的权值,从点0出发沿编号走,到达某一个节点则把目前总权值加上这个节点的权值,如果结果小于0则变成0。现在给你最多可以走的步数P和最大需要到达的权值大小G,问你需要的最小的初始权值为多少,能在P步内能够产生的最大权值大于等于G题解:很容易想到初 阅读全文