摘要:
这题不像前面那样板子了,至少我不认为它是个板子。 推出的方程长这样子:f[j]+a*sum[j]^2-b*sum[j]=(2*a*sum[i])*sum[j]+f[i]-a*sum[i]^2-b*sum[i]-c 看一下数据范围,a恒为负,这时斜率2*a*sum[i]单调递减,同时我们要求截距的最大 阅读全文
posted @ 2020-02-29 22:53
syzf2222
阅读(159)
评论(0)
推荐(0)
摘要:
容易想到,我们必须在最低点也就是第n个点建设一个仓库。由此想到这样设状态:f[i]表示仅处理1~i的工厂的最小花费。 找到一个j<i,在j处建工厂,从j+1到i-1的都运到i处,那么推出状转方程:f[i]=min{f[j]+c[i]+p[k]*(x[i]-x[k])},k从i+1到j-1 预处理两个 阅读全文
posted @ 2020-02-29 22:52
syzf2222
阅读(219)
评论(0)
推荐(0)
摘要:
不难推出递推方程:dp[i]=min{dp[j]+(sum[i]+i−sum[j]−j−L−1)^2} 不妨设A=i+sum[i],B=j+sum[j]+1。则递推式可以转化为:dp[i]=min{dp[j]+(A-B+L)^2} 接下来的部分留给读者自行推倒(主要是我懒得写了QAQ) 看代码: # 阅读全文
posted @ 2020-02-29 22:51
syzf2222
阅读(145)
评论(0)
推荐(0)
摘要:
不难得到递推式f[i]=min{f[j]+(sum[i]-sum[j])^2+m}; 去掉min函数并展开:f[i]=f[j]+sum[i]^2-2*sum[i]*sum[j]+sum[j]^2+m 将含i的项与含j的项分离,并把单纯含j的项写在左边:f[j]+sum[j]^2=2*sum[i]*s 阅读全文
posted @ 2020-02-29 22:50
syzf2222
阅读(85)
评论(0)
推荐(0)
摘要:
这一题k有1000000的数量级,所以我没敢开一百万的局部数组。 为什么全局有可能会出问题?因为在递归的时候,这一层的数据有可能被下一层利用。 避免的方法就是把处理和递归分开。完事! 看代码: #include<bits/stdc++.h> using namespace std; const in 阅读全文
posted @ 2020-02-29 22:48
syzf2222
阅读(151)
评论(0)
推荐(0)
摘要:
这可以说是最简单的一道了吧,用一个桶去记录就好了。 #include<bits/stdc++.h> using namespace std; const int maxn=100000+10; #define inf 1e9 int n,k; int beg[maxn],nex[maxn],to[m 阅读全文
posted @ 2020-02-29 22:47
syzf2222
阅读(127)
评论(0)
推荐(0)
摘要:
对于每一条连到当前根的比k小的边edge,找比k-edge小的,不难想到树状数组。 比较坑的是树状数组一定要定义局部变量,不然会奇妙WA哈哈。 看一下代码: #include<bits/stdc++.h> using namespace std; int n,k; const int maxn=10 阅读全文
posted @ 2020-02-29 22:46
syzf2222
阅读(178)
评论(0)
推荐(0)
摘要:
虽然说是一个模板题,但其实并不是那么模板…… 数据加强之后,N^2的时间复杂度是过不了的。注意到m只有一百,考虑先输入m个数,离线处理。 代码如下: #include<bits/stdc++.h> using namespace std; #define inf 0x3f3f3f3f const i 阅读全文
posted @ 2020-02-29 22:45
syzf2222
阅读(97)
评论(0)
推荐(0)
摘要:
对于每个点,统计过他的边的对三取模的个数。看代码。 #include<bits/stdc++.h> using namespace std; #define inf 1e9 const int maxn=20005; int beg[maxn],nex[maxn*2],to[maxn*2],w[ma 阅读全文
posted @ 2020-02-29 22:44
syzf2222
阅读(142)
评论(0)
推荐(0)
摘要:
又是一个板子题。 边权转点权注意要去除lca,修改时直接将id[x]加一即可。 注意若此时x==y,则直接返回。 代码如下: #include<bits/stdc++.h> using namespace std; #define inf 2147483647 const int maxn=1e6; 阅读全文
posted @ 2020-02-29 22:41
syzf2222
阅读(248)
评论(0)
推荐(0)

浙公网安备 33010602011771号