摘要:
https://blog.csdn.net/Joker_He/article/details/107087092 题意: 假设你有x颗糖果,你面前有n个敌人,第i个敌人有a[i]颗糖果,你可以选择对战的顺序,如果你手里的糖果不比敌人少,那么你胜利并获得一颗糖果,现在我们定义f(x)为你手里有x颗糖果 阅读全文
摘要:
https://codeforces.com/contest/1373/problem/D 题意:给出一个序列(从0开始计数)让我们求出偶数位置的最大和 我们最多可以执行一次让某个连续区间翻转的操作; 思路:模拟一下可知,奇数个数的翻转是无效的,所以只能偶数个数的翻转 我们求出相邻位置的差,记录下来 阅读全文
摘要:
https://codeforces.com/contest/1370/problem/D 题意:给定一个序列,让我们找一个大小为k的序列,求最小值 最小值的定义为:min(奇数位置上的最大,偶数位置上的最小) 思路:二分 对于check部分,我们分为两块来写,奇数位和偶数位 先考虑奇数位置,我们找 阅读全文
摘要:
题意:让我们根据提供的序列,找出另外一个序列 使当前序列满足非负整数中,前k个数中的未出现过的最小整数等于提供的序列中第K个数 思路:我们采用从后面遍历到前面的做法 首先可以确定的是,假如前后两个数字不相同,如 5 6 ,则在6的位置(也就是第二个位置)我们可以填上5,这是确定的 然后再用一个vis 阅读全文
摘要:
https://codeforces.com/contest/1367/problem/D 题意:给出一个字符(供我们挑选字符来构造) 给出一个序列 ,这个序列的值为:所有字典序比他大的字符坐标与他自身坐标的绝对值总和 让我们构造一个字符串,满足这个序列 思路:首先,在他要我们构造的序列中,肯定会有 阅读全文
摘要:
单调队列裸题 1 #include<bits/stdc++.h> 2 using namespace std; 3 const int maxn=1e6+10; 4 int a[maxn]; 5 int qmin[maxn],qmax[maxn]; 6 int pmin[maxn],pmax[max 阅读全文
摘要:
并查集+链表 https://blog.csdn.net/Wen_Yongqi/article/details/107443575 1 #include<bits/stdc++.h> 2 using namespace std; 3 const int maxn=8e5+10; 4 struct n 阅读全文
摘要:
题解链接:https://blog.csdn.net/m0_43448982/article/details/107431309 1 #include<bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 const int 阅读全文
摘要:
这道题首先要实现KM算法求出权值; 然后要求我们计算出所有的完美匹配中的交集,也就是说,必须出现在完美匹配当中的男女朋友关系 所以要求出交集,我们可以采用暴力的方式 由于KM算法(我用的是优化后的模板 0(n^3))题目给出的范围也就80,所以多一层暴力也不会超时 所以我们把第一次匹配中存在的男女生 阅读全文
摘要:
. 1 #include<bits/stdc++.h> 2 using namespace std; 3 //Data 4 typedef long long ll; 5 const int N=500; 6 const int inf=0x3f3f3f3f; 7 int n,m,e[N+7][N+ 阅读全文