摘要:
背包。dp[i]=1表示i这种差值能被组合出来,差值有负数,所以用sum表示0,0表示-sum,2*sum表示sum。 询问X的时候,只需看dp[sum+X]或者dp[sum-X]是否有一个为1,注意RE。 #include<cstdio> #include<cstring> #include<cm 阅读全文
摘要:
第一反应是在凸包上随便找一条边,然后找剩下n-2个点里面距离这条边最短的一个点,这三点就构成了符合要求的三角形。。然而。。精度被卡死。 换种思路,随便找两个点P1,P2,找剩下n-2个点中哪一个点与P1,P2形成的三角形面积最小,这三点构成了符合要求的三角形,然而我没写。。 最终这样写的,按X,Y进 阅读全文
摘要:
只要找出当前没用过的数字中,大于或等于当前这一列的最大值就可以 #include<cstdio> #include<cstring> #include<cmath> #include<vector> #include<algorithm> using namespace std; const int 阅读全文
摘要:
水题,先都合成2,看看有没有1多的,有的话存起来,再把那些2合成3,看看有没有多的2,有的话再存起来。。。一直这样下去 #include<cstdio> #include<cstring> #include<cmath> #include<vector> #include<algorithm> us 阅读全文