2015年12月13日

codeforces 242E. XOR on Segment 线段树

摘要: 题目链接给n个数, 两种操作, 一种是求区间内的数的和, 一种是将区间内的数异或x。异或x没有什么思路, 单个异或肯定超时, 区间异或也没有办法做....后来才知道可以按位建线段树, 这样建20棵线段树就可以。每一次异或, 对于给定的x, 如果x的第i位是1, 那么就将第i棵线段树在给定的区间内0,... 阅读全文

posted @ 2015-12-13 20:01 yohaha 阅读(461) 评论(0) 推荐(0) 编辑

codeforces 546E. Soldier and Traveling 网络流

摘要: 题目链接给出n个城市, 以及初始时每个城市的人数以及目标人数。初始时有些城市是相连的。 每个城市的人只可以待在自己的城市或走到与他相邻的城市, 相邻, 相当于只能走一条路。如果目标状态不可达, 输出no, 否则输出每个城市的人都是怎么走的, 比如第一个城市有2个人走到了第二个城市, 1个人留在了第一... 阅读全文

posted @ 2015-12-13 15:35 yohaha 阅读(534) 评论(0) 推荐(0) 编辑

hdu 3397 Sequence operation 线段树

摘要: 题目链接给出n个数, 每个数是0或1, 给5种操作, 区间变为1, 区间变为0, 区间0,1翻转, 询问区间内1的个数, 询问区间内最长连续1的个数。需要将数组开成二维的, 然后区间0, 1翻转只需要交换一个数组的第二维就可以。一个数组记录区间最长, 一个记录前缀, 一个记录后缀, 一个记录总数, ... 阅读全文

posted @ 2015-12-13 13:44 yohaha 阅读(134) 评论(0) 推荐(0) 编辑

2015年12月12日

codeforces 510E. Fox And Dinner 网络流

摘要: 题目链接给出n个人, 以及每个人的值, 要求他们坐在一些桌子上面, 每个桌子如果有人坐, 就必须做3个人以上。 并且相邻的两个人的值加起来必须是素数。每个人的值都>=2.由大于等于2这个条件, 可以知道素数都是奇数, 那么很明显就需要一奇一偶相邻这样做, 那么一个桌子上必定有偶数个人。 一个奇数旁边... 阅读全文

posted @ 2015-12-12 23:58 yohaha 阅读(537) 评论(0) 推荐(1) 编辑

hdu 3308 LCIS 线段树

摘要: 题目链接给出n个数m个询问, 询问有两种, 一种是将第x个数改为y, 一种是询问[x, y]之间最长连续上升序列, 因为是连续的, 所以就是一个简单的区间合并问题。用5个数组, 记录一个区间内的最长连续序列, 最长前缀, 最长后缀, 区间左端点的数是几, 右端点的数是几, 合并的时候判断左区间右端点... 阅读全文

posted @ 2015-12-12 16:07 yohaha 阅读(136) 评论(0) 推荐(0) 编辑

hdu 3530 Subsequence 单调队列

摘要: 题目链接题目给出n个数, 一个下界m, 一个上界k, 让你求出最长的一段序列, 满足这段序列中的最大的数-最小的数=m, 输出这段长度。可以维护两个队列, 一个队列的队头元素是这一段中的最大值,是一个单调递减的数列; 另一个队列是这段中的最小值, 单调递增的数列。具体看代码。 1 #include ... 阅读全文

posted @ 2015-12-12 10:44 yohaha 阅读(533) 评论(0) 推荐(0) 编辑

spoj 10606 Balanced Numbers 数位dp

摘要: 题目链接一个数称为平衡数, 满足他各个数位里面的数, 奇数出现偶数次, 偶数出现奇数次, 求一个范围内的平衡数个数。用三进制压缩, 一个数没有出现用0表示, 出现奇数次用1表示, 出现偶数次用2表示, 这样只需要开一个20*60000的数组。 1 #include 2 using namespace... 阅读全文

posted @ 2015-12-12 09:52 yohaha 阅读(153) 评论(0) 推荐(0) 编辑

2015年12月10日

codeforces 55D. Beautiful numbers 数位dp

摘要: 题目链接一个数, 他的所有位上的数都可以被这个数整除, 求出范围内满足条件的数的个数。dp[i][j][k], i表示第i位, j表示前几位的lcm是几, k表示这个数mod2520, 2520是1-9之间数的lcm。 然后这样数组就要开成20*2520*2520, 太大了, 所以我们将lcm离散,... 阅读全文

posted @ 2015-12-10 23:51 yohaha 阅读(157) 评论(0) 推荐(0) 编辑

ZOJ 3209 Treasure Map 精确覆盖

摘要: 题目链接精确覆盖的模板题, 把每一个格子当成一列就可以。S忘记初始化TLE N次, 哭晕在厕所...... 1 #include 2 using namespace std; 3 #define pb(x) push_back(x) 4 #define ll long long 5 #de... 阅读全文

posted @ 2015-12-10 19:56 yohaha 阅读(210) 评论(0) 推荐(0) 编辑

hdu 3709 Balanced Number 数位dp

摘要: 题目链接一个数称为平衡数, 只要他的某一位满足, 这一位左边的所有数sigma x*(x距离这一位的距离)等于右边的sigma x*(x距离这一位的距离), 例如4139, 3就满足这个性质, 因为4*2+1*1 == 9*1。求出一个范围内的平衡数的数量。看起来好麻烦, 不好想状态, 但是我们可以... 阅读全文

posted @ 2015-12-10 17:50 yohaha 阅读(136) 评论(0) 推荐(0) 编辑

导航