随笔分类 -  OI省选

摘要:按照朴素的列方程,可以列出n+1个n元2次方程。 将相邻的两个方程相减就可以得到n个n元1次方程,进行高斯消元就可以了。 阅读全文
posted @ 2015-01-14 20:40 rpSebastian 阅读(229) 评论(0) 推荐(0)
摘要:首先找出b在数列中的位置mid 用 f[i]记录mid左边从mid往左统计比m小的数与比m大的数的差值为i的个数 用g[i]记录mid右边从mid往右统计比m大的数与比m小的数的差值为i的个数 。。有点语死早,找个样例模拟一下就懂了 阅读全文
posted @ 2015-01-14 19:25 rpSebastian 阅读(233) 评论(0) 推荐(0)
摘要:f[i]=min(f[j]+w[j,i])+c[i]; j∈[0,i-1] w[j,i]=p[j+1]*(x[i]-x[j+1])+...+p[i]*(x[i]-x[i]); 最裸的DP是n^2的,显然会超时 现在化简一下w[j,i] w[j,i]=x[i]*(p[j+1]+...+p[i])-(x 阅读全文
posted @ 2015-01-14 15:26 rpSebastian 阅读(286) 评论(0) 推荐(0)
摘要:按照题目意思模拟即可。 阅读全文
posted @ 2015-01-12 21:42 rpSebastian 阅读(179) 评论(0) 推荐(0)
摘要:简单贪心即可。 阅读全文
posted @ 2015-01-07 21:03 rpSebastian 阅读(203) 评论(0) 推荐(0)
摘要:直接高精度模拟,加上简单贪心 阅读全文
posted @ 2015-01-06 22:26 rpSebastian 阅读(144) 评论(0) 推荐(0)
摘要:先按照T2从小到大排序,然后进行贪心。 第i个任务能完成的条件是,sigma(T1[j])+T1[i]<=T2[i] ( j 为之前所选的任务) 如果这个任务不能完成,若max(T1[j]) >T1[i]) , 就将i替换为j , 这样可以使所用任务时间减小。 用一个堆维护最大值即可。 阅读全文
posted @ 2015-01-06 17:48 rpSebastian 阅读(174) 评论(0) 推荐(0)
摘要:change 单点修改 query 区间最值 阅读全文
posted @ 2015-01-05 22:04 rpSebastian 阅读(180) 评论(0) 推荐(0)