摘要: 给出一个长度为 n 非递减的序列 a,可以执行操作 选择两个相邻的数字将他们删去,并在此位置添加他们的异或和。 问最少需要多少次操作使序列不是非递减的?2≤n≤105,1≤ai≤109 我们发现一旦出现n>60的,一定出现某三个数的最高位相同,那么使得前两个数xor 得到结果 否则,暴力枚举区间左端 阅读全文
posted @ 2020-12-05 16:43 PdrEam 阅读(100) 评论(0) 推荐(0) 编辑
摘要: A. Cancel the Trains 去重,重复才会相撞 B. Suffix Operations 后缀+1,后缀-1 操作前可以改变一个值。 求最少操作数使得数列相同。 很明显是差分。差分数组和就是操作数。 当我们改变一个数列中间的值时,最优肯定是改成与前面相同的情况。(与后面相同也行,差分数 阅读全文
posted @ 2020-12-04 23:44 PdrEam 阅读(248) 评论(0) 推荐(1) 编辑
摘要: 给你一个长度为50的数字串,问你有多少个子序列构成的数字可以被3整除 #include<bits/stdc++.h>using namespace std;const int N = 1e6+7;const int mod = 1e9+7;char s[100];int n,dp[100][5],a 阅读全文
posted @ 2020-12-01 14:30 PdrEam 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 每个灯泡会闪ti分钟,然后灭ti分钟。 灯泡闪的时候亮度为bi 最后问每分钟最亮的亮度是多少。 首先先对灯泡排序,这样相同t值的不重复更新 灯泡去重之后最多只有m个。 线段树维护”时间“这个区间上的最大值。 最多的情况下,m要被更新m/1+m/2+m/3…+m/m=mlogm 区间个数是个调和级数 阅读全文
posted @ 2020-11-27 16:08 PdrEam 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 原题地址:https://ac.nowcoder.com/acm/contest/8563/B 贪心的思路相当明显:对于只有一条边的点,可以单独划分就单独划分,不能就跟找其他点一起。 重点在于,怎么证明贪心是最优的,但是卡在这里。 现在想到以1为根,把图转化为了有层次关系的树。 然后dfs到叶子节点 阅读全文
posted @ 2020-11-15 00:06 PdrEam 阅读(98) 评论(0) 推荐(0) 编辑
摘要: A. Acacius and String 题意:?可以替换成任意字母,问能否让字符串中出现且仅出现一次abacaba 。。。比较笨就打算写模拟了 先找有没有原来有的标准串,如果有且数量大于1个的,不合法 有一个的,将?改为z,输出 没有,找能否操作让标准串出现且仅出现一次。 若有,输出。若无,不合 阅读全文
posted @ 2020-11-08 21:52 PdrEam 阅读(90) 评论(0) 推荐(0) 编辑
摘要: A. Array Rearrangment 题意:给定a序列和b序列,问ai+bi≤x是否都成立 一个从小到大排,一个从大到小排,然后加一加。。。 int flag=0; scanf("%d%d",&n,&x); for(int i=1;i<=n;++i) scanf("%d",&a[i]); fo 阅读全文
posted @ 2020-11-04 23:31 PdrEam 阅读(124) 评论(0) 推荐(0) 编辑
摘要: A. Kids Seating 从4*n-2开始,每次输出减2。 发现满足条件,不互质也不能相互整除 B. Saving the City 引爆花费a,安装花费b 可知要引爆必定花费一个a,ans+=a 对于两段1区间中间隔着的0,既可以用安装一个个1花费 cnt*b 也可以花费a引爆 那么每次记录 阅读全文
posted @ 2020-11-03 23:12 PdrEam 阅读(221) 评论(0) 推荐(0) 编辑
摘要: A 锯锯锯锯锯锯锯锯锯锯锯锯锯锯 考虑数据范围1e8,所以我们仅记录有用的查询值,而不是记录所有的。 const ll mod = 1e9+7; const int N= 1e5+7; ll n,a[N],x[N],y[N],q[N<<1],cnt=0,ans[N<<1]; ll qpow(ll a 阅读全文
posted @ 2020-10-29 23:17 PdrEam 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 太菜了,卡在C上以至于没有看到D。 A. Marketing Scheme 题意:如果 x mod a ≥ ⌊a/2⌋,那么这是好的。问在x∈[l,r]时,能否找到一个a,使得对于区间内任意的x都是好的。 对于区间左端点,a能取得的最大的情况,就是a=2*l了,那么只要r小于2*l就成立。 B. R 阅读全文
posted @ 2020-10-29 20:09 PdrEam 阅读(148) 评论(0) 推荐(0) 编辑