02 2018 档案

摘要:题目大意:主席树的加减区间更新。 思路:lazy标记搞一搞,注意不需要push_down,写的时候push_up忘了加上自己的lazy疯狂WA。。。 阅读全文
posted @ 2018-02-25 14:27 NotNight 阅读(221) 评论(0) 推荐(0)
摘要:题目大意:树上第k小的数。 思路:和区间第k小的数的做法差不多,不过要求一下lca,比较麻烦。 阅读全文
posted @ 2018-02-24 14:58 NotNight 阅读(150) 评论(0) 推荐(0)
摘要:D - Persistent Bookcase 题目大意:有三种操作,第一种操作,在i 个书架,j个位置放一本书,第二种操作,取下第i个书架,j 个位置的书,第三种操作, 把第i个书架所有没有书的位置放上书,有书的位置拿掉数,第四种操作,回到第k个操作,问你每次操作后书的总数。 两种方法:1、离线之 阅读全文
posted @ 2018-02-23 14:36 NotNight 阅读(206) 评论(0) 推荐(0)
摘要:题目大意:给你一个由0-9组成的字符串,有m个询问,两种操作,第一种将l到r的字符全部变成c,第二种问l到r这段 字符串的循环节是不是d。 思路:首先我们要知道怎么判断字符串的循环节的长度是不是d,如果这个字符串小于等于d,那么肯定是的,否则,如果l 到 r-d 和l+d 到 r 这两段字符串则循环 阅读全文
posted @ 2018-02-18 23:16 NotNight 阅读(149) 评论(0) 推荐(0)
摘要:D - Inna and Sequence 线段数维护区间有几个没有被删除的数,利用线段树的二分找第几个数在哪里,然后模拟更新就好啦。 阅读全文
posted @ 2018-02-06 16:46 NotNight 阅读(147) 评论(0) 推荐(0)
摘要:#include #define read(x) scanf("%d",&x) using namespace std; const int N=1e6+7; struct BIT { int a[N]; void modify(int pos,int v) { for(int i=pos;i0;i-=i&-i) ans+=a[i]... 阅读全文
posted @ 2018-02-05 14:08 NotNight 阅读(160) 评论(0) 推荐(0)
摘要:题目大意:有m (m<=1e9) 个相同的块,每个块里边有n个数,每个数的范围是1-9,从每个块里边取出来一个数组成一个数,让你求组成的方案中 被x取模后,值为k的方案数。(1<=k<x<=100) 思路:刚开始把m看成了1e5,写了一发数位dp,果断RE,然后我在考虑从当块前状态转移到下一个块状态 阅读全文
posted @ 2018-02-04 17:51 NotNight 阅读(126) 评论(0) 推荐(0)
摘要:C - Wet Shark and Flowers 题目大意:有n个人围成一个圈,每个在l[ i ] 到 r[ i ]之间随机出一个数,如果这个数和旁边的一个人出的数的积是p的倍数,则他得到1000元,如果 和两个人的积都是p (p一定为素数)的倍数,则他得到2000元,让你求所有人得到的钱的期望。 阅读全文
posted @ 2018-02-04 17:44 NotNight 阅读(136) 评论(0) 推荐(0)