2020年2月6日

二分+暴力状压+桶——cf1288D

摘要: /* 二分bk,所有比bk大的数设置为1,比bk小的数设置为0 然后得到一个n*m的01矩阵,每行a的状态用s[i]表示,问题转换成判是否存在s[i]|s[j]=(1<<m)-1 再开一个flag[i]统计是否出现过状态i 然后暴力枚举是否存在这样的s[i]|s[j]=(1<<m)-1 */ #in 阅读全文

posted @ 2020-02-06 22:40 zsben 阅读(199) 评论(0) 推荐(0)

乱搞+虚假莫队?+树状数组——cf1288E

摘要: 感觉自己的解法有点歪 /* 每次把一个数提到最前面,问整个过程结束后1..n每个数出现最靠前的位置和最靠后的位置 最靠前:如果一个数被提前过,那么必然是1 如果从来没被提前过,就是其原来的位置 最靠后:维护数i每次被提前的时间序列time[i][] time[i][1]到time[i][2]之间出现 阅读全文

posted @ 2020-02-06 21:32 zsben 阅读(198) 评论(0) 推荐(0)

字符串+置换+莫队离线处理——cf1290B

摘要: /* 题意可以转化为通过s[l..r]构造出新的串t[l..r]和s不能约 t[l..r]的每个前缀,每个后缀的字符数量都必须和s[l..r]对应的前后缀字符数量不同 构造策略: 如果s[l]!=s[r]直接交换即可 否则找到s[i]!=s[j],swap(s[i],s[r]),swap(s[j], 阅读全文

posted @ 2020-02-06 19:41 zsben 阅读(193) 评论(0) 推荐(0)

导航