摘要:
链接确实是破题 按复杂度估计怎么着也不能按坐标D 啊网上的代码交上去还TLE 无语了 多次TLE之后终于看到一次WA。。好高兴以横坐标进行DP dp[j] = min(dp[j],dp[2*x[i]-j]+1) 这个2*x[i]-j其实是 j+2*(x[i]-j]) 由当前坐标可以由没跳这个个建筑物i之前的坐标推来限制条件为 (j-x[i])*(j-x[i])+(y[i]-y[1])*(y[i]-y[1])>y[i]*y[i]; 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 using namesp 阅读全文
摘要:
链接裸线段树 这题时间卡的挺棒 1 #include 2 #include 3 #include 4 #include 5 #include 6 7 using namespace std; 8 #define N 1000010 9 #define INF 0xfffffff10 int s[N>1;26 build(l,m,w=r)33 {34 return lm[w];35 }36 int m = (l+r)>>1,ans = INF;37 if(am)40 ans = min(ans,query1(a,b,m+1,r,... 阅读全文
摘要:
链接哎。。比赛中一下想到了公共子序 之后思维就被局限了 一直在这附近徘徊 想着怎么优化 怎么预处理。。观看了众多神牛的代码 。。以前觉得自己能写出个记忆化的最长回文长度 还挺高兴的。。。现在觉得好弱因为它是两边一起跑 也就是可以是两段回文子序 所以。。只需要求下1-i i+1-n的最长回文串就可以了 这个是可以在之前求总的时候保留下来的 1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 int dp[1010][1010]; 8 int a[1010]; 9 int main()10. 阅读全文