07 2020 档案
摘要:比赛入口 H-Happy Triangle 题意: 有一个multiset s,一共有三种操作: 1. s插入一个x; 2. s删除一个x; 3. 查询s中是否存在两个数字,使得这两个数字能和x组成一个非退化三角形; 思路: 显然,s是有序的,且判断x是否能和s中两个数字组成非退化三角形,一共有以下
阅读全文
摘要:题目: 传送门 思路: 根据最后一轮的输赢推出最后一轮的先后手(看先手必赢还是后手必赢或者看先手必输还是后手必输),再推出上一轮的输赢(输赢-->先后手); 那么如何判断每一轮是先手可以必赢还是后手可以必赢呢? 若e为奇数, s为偶数,先手必赢,否则后手必赢(若是偶数,先手一直加一即可,后手只能把奇
阅读全文
摘要:题目:传送门 思路:直接二分答案,O(n) check ,check时只需要保证能构造出子序列满足 x(二分的数字) 在奇数序号或者偶数序号中是最大(都小于等于x)的即可,另一组直接放一个数组最大值。 这是我之后基于其他人代码得到的思路,我自己一开始的思路就是分为四种情况做二分+dp:(dp用于ch
阅读全文
摘要:题目:传送门 思路: 1. 对于s[i] = t[i] 我们不需要处理,那么去掉s[i] = t[i]后,我们能够处理的子序列必定是 10101010... 或 01010101... ; 如果是 s' = 1100 , t' = 0011 显然不能。 2. 那么我们得出这一条结论了,这道题的做法就
阅读全文
摘要:题目: 传送门 想了很多思路,都不太好写。。。 思路:每次找到b数组中 bi == 0 的位置,然后填上最大的字符,再暴力删除这些位置对其他位置的贡献值即可。 1 #include<bits/stdc++.h> 2 /* 3 #include<cstdio> 4 #include<cmath> 5
阅读全文