摘要: http://codeforces.com/problemset/problem/896/C 题意: 对于一个随机序列,执行以下操作: 区间赋值 区间加 区间求第k小 区间求k次幂的和 对于随机序列,可以使用Old Driver Tree 就是将序列中,连续的相同值域合并为一段 然后暴力操作 #in 阅读全文
posted @ 2017-12-20 22:03 TRTTG 阅读(511) 评论(0) 推荐(0) 编辑
摘要: http://codeforces.com/contest/351/problem/E 题意: 给出一些数,可以改变任意数的正负,使序列的逆序对数量最少 因为可以任意加负号,所以可以先把所有数看作正数 序列中的数无论怎么改,都不会改变与绝对值最大的数的逆序对的数量 所以从绝对值最大的数开始,决定它的 阅读全文
posted @ 2017-12-20 19:50 TRTTG 阅读(345) 评论(0) 推荐(0) 编辑
摘要: http://www.lydsy.com/JudgeOnline/problem.php?id=3543 枚举每一个点,作为左下角 然后枚举 相同的x坐标,y坐标 少的那个 作为另一个角 二分判断另外两个角是否存在 #include<map> #include<vector> #include<cs 阅读全文
posted @ 2017-12-20 17:02 TRTTG 阅读(294) 评论(0) 推荐(0) 编辑
摘要: http://www.lydsy.com/JudgeOnline/problem.php?id=3343 high记录原始身高 HIGH记录每块排序之后的身高 不满一块的直接对high操作,重排之后再赋值给HIGH 块内直接打标记 查询时,不满一块的直接查,一整块的在HIGH内二分块内第一个>=C- 阅读全文
posted @ 2017-12-20 14:56 TRTTG 阅读(189) 评论(0) 推荐(0) 编辑
摘要: http://www.lydsy.com/JudgeOnline/problem.php?id=2431 dp[i][j] 表示i的排列,有j个逆序对的方案数 加入i+1,此时i+1是排列中最大的数, 所以放在i+1后面的所有数都会与i+1形成逆序对 转移方程:dp[i][j]=Σ dp[i-1][ 阅读全文
posted @ 2017-12-20 09:50 TRTTG 阅读(199) 评论(0) 推荐(0) 编辑
摘要: http://www.lydsy.com/JudgeOnline/problem.php?id=3405 n个牛棚,n-1段 因为要求距离尽量大,而且尽可能多的为d 所以: 第1个牛棚一定在位置1 最后一个牛棚一定在位置s 每段距离不是d就是d+1 有s-(n-1)*d-1段 d+1,其余段距离为d 阅读全文
posted @ 2017-12-20 08:38 TRTTG 阅读(173) 评论(0) 推荐(0) 编辑
摘要: http://www.lydsy.com/JudgeOnline/problem.php?id=1131 dp[i]=dp[fa[i]]-son[i]+n-son[i] #include<cstdio> #include<iostream> using namespace std; #define 阅读全文
posted @ 2017-12-20 07:39 TRTTG 阅读(257) 评论(0) 推荐(0) 编辑