热门 最新 精选 话题 上榜
题目链接:https://vjudge.net/problem/Gym-101170B解题思路:题目悄悄地告诉你,最多只含有5元环,所以我们先缩点,然后跑dp。对
原创 4天前
29阅读
解题思路:首先需要证明,最大长度大于等于K的点一定会是联通的,最大长度小于K的点一定是个孤立的点。这个看似不好证明,实际用图的直径就可
和j都是非负整数,当i==t时,k=0;当i>t...
原创 4天前
25阅读
题目链接:https://vjudge.net/contest/298079#problem/J解题思路:将整个过程分成n个步骤,那么在每
原创 4天前
23阅读
题目链接:http://fastvj.rainng.com/problem/Gym-101128B解题思路:其实这是一个sat问题,当我们枚举
原创 4天前
22阅读
题目链接:https://nanti.jisuanke.com/t/41306解题思路:一个前提结论就是假定第i个人开始是机洗,那么他前面的肯定都是手洗他后面的都是机洗。这也很好证明,假定我第j个
原创 4天前
29阅读
ICPC Asia Nanjing 2019 网络赛 [李超树]
题目链接:https://www.jisuanke.com/contest/3870?view=challenges解题思路:也就是CF这道题反着过来,这一题变成和右结合。道
原创 4天前
24阅读
题目链接:https://www.cometoj.com/contest/46/problemsA.迫真字符串#include<bits/stdc++.h>using namespace std;const int mx = 2e
原创 精选 4天前
202阅读
Comet OJ - Contest #5 A-E
n个就是了,因为只有前lowbit(n)行在循环赛程中是没变的,其他都发生了改变不会出现a打b,c打d之后若有a打c那么就一定有b打d  #include <bits/stdc++.h>using ...
原创 4天前
32阅读
就是x1,...
原创 4天前
26阅读
Codeforces Round #818 (Div. 2)
题目链接:http://codeforces.com/contest/1644A. Doors and Keys水题#include<bits/stdc++.h>using namespace std;#define
题目链接:点击这里 解题思路:本题可以理解为前一半是每次都爬到比自己在的更高的山,后一半是每次都下到比自己更低的山.所以答案就是2*max(a[i]) #include<bits/stdc++.h> using namespace std; typedef long long ll; const int N = 998244353; const int mx = 1
原创 4天前
18阅读
题目链接:https://ac.nowcoder.com/acm/contest/888/A解题思路:将问题转化为计算一个点作为极大全1矩阵的右下角的次数的
原创 4天前
17阅读
题目链接:点击这里解题思路:这题被强制在线了如果是离线(BZOJ 2683)可以CDQ分治 + 树状数组做.所以只能用KDtree了.若每次都将新节点插入原DKT中,最终会导致树会非常的不平衡,而失去了意义,导致超时.所以我们要设置一个阈值,当节点数到达阈值时就对KDT进行重构保证稳定.#include<cstdio> #include<cstring> #include&
原创 4天前
22阅读
题目链接:https://codeforces.com/contest/1260A - Heating #include<bits/stdc++.h>#define inf 0x3f3f3f3fusing namespace std;typedef unsigned loef pai...
原创 4天前
19阅读
解题思路:如果有一个字符数量超过一半那么肯定无解,否则就算现在已有的对数,如果有个字母的对数超过已有对数的一般,那么答
原创 4天前
25阅读
题目链接:点击打开链接KM算法具体了解:点击打开链接#include<bits/stdc++.h> #define inf 0x3f3f3f3f using namespace std; const int mx = 3e2 + 10; typedef long long ll; int n,m,w[mx][mx],lx[mx],ly[mx]; int slack[mx],cp[mx]
原创 4天前
23阅读
容量变为inf这样确保他们不会变成满流也不会影响到满流边变成不满流,也就是割边还是不会被他影响。将满流边容量+1,首先我们知道不是...
原创 4天前
18阅读
题目链接:https://vjudge.net/problem/CodeForces-552D 解题思路:枚举每个边,以这条边为直线上面的点
原创 4天前
19阅读
h>#define fi first#define se secondusing namesp...
原创 4天前
20阅读
题目链接:https://www.luogu.org/problemnew/show/P3402解题思路:可持久化并查集也就是可持
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6346解题思路:这题卡dfs的KM所以只能用纯N^3的bfs#include<bits/stdc++
原创 4天前
58阅读
题目链接:点击打开链接本题简单剖析出来就是固定其中一个串然后另一个串旋转到一个位置值得答案值最大.我们发现每次求值的复杂度是O(n),一共有n种旋转方法,所以总复杂度是O(n^2),如果把这n种都综合起来的话不就是近似多项式乘法了吗?那么怎么转换呢?看下面的图以n=5为例,那么5种旋转方式的值分部在多项式的哪里呢?从图看出就是x^4,x^3和x^8,x^2和x^7,x^1和x^6,1和x^5.总结
原创 4天前
31阅读
fjut 3283 - FFT多项式乘法
证明最大匹配数==最小覆盖点数点击打开链接#include<bits/stdc++.h> using namespace std; typedef long long ll; const int mx = 1e2 + 10; int n,m,xi[mx*mx],yi[mx*mx],cp[mx]; bool vis[mx][mx],vic[mx]; bool pipei(int x) {
原创 4天前
23阅读
题目链接:点击打开链接题解思路:一开始直接每个枚举T了,后来直接找有连接的居然过了 = =。每次看这个
原创 4天前
22阅读
后缀自动机:利用right集合的包含关系,利用一开始的原串的前缀串的最右端,去更新其他点righ
题目链接:点击打开链接 题解思路:这图咋一看就是图论,假设我引爆i点能使j点也引爆,那么就将i
原创 4天前
15阅读
链接:点
原创 4天前
21阅读
链接:点击打开链接题解:一.可以按单位价值排序,然后一直取到超过m为止,这里可以知道要是正好取到m那么这个配置肯定是最优的,剩下的两种情况就是m-1,和m-2那么就要dp四种情况,1.从剩下的拿出填满它.2.从已取当中拿去一出来从剩下的拿2进去.3...4...以此类推,可以发现我们最后只需要dp剩下1-5的质量就可以了二.考虑质量1和质量2的情况的最优,最后再对质量3枚举就行了。一:#inclu
原创 4天前
22阅读