2015年12月13日

ural 1057. Amount of Degrees 数位dp

摘要: 题目链接给四个数l, r, k, b。 求出在[l, r]内满足这个数可以分解成k个不同的b次方的数的个数。只要把一个数按b进制分解, 然后找一个刚好有k个1, 其余都是0的数的个数。好神....按B进制分解完全想不到。 1 #include 2 using namespace std; 3 #de... 阅读全文

posted @ 2015-12-13 21:00 yohaha 阅读(141) 评论(0) 推荐(0) 编辑

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) 编辑

导航