![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
icpc题解
Alex Panda
已不更新博客。
B站搜:BingPanda
展开
-
1174 D. Ehab and the Expected XOR Problem异或 构造
这道题很像我写过这篇博客的第一题:https://blog.csdn.net/weixin_43262291/article/details/90242741如果知道如图的异或前缀的方法,那么这题就可以转而构造异或前缀和,再反向分解。#include <bits/stdc++.h>using namespace std;#define ll long long#define...原创 2019-06-05 15:23:21 · 210 阅读 · 0 评论 -
Codeforces Round #565 (Div. 3) A-F题解
A. 小心别写疵了,这种题容易被hack#include <bits/stdc++.h>using namespace std;#define ll long long#define forn(i,n) for(int i=0;i<n;i++)#define for1(i,n) for(int i=1;i<=n;i++)#define IO ios::sync_...原创 2019-06-10 02:47:24 · 193 阅读 · 0 评论 -
Gym 101002I Tourists LCA板子题
题目链接:https://codeforces.com/gym/101002/attachments i题题意:n2e5. 给你n个点,n-1条边建立一个无向图或者是树,边的权值都为1。现在让你求从1到n每个点u到一个点v的距离累加和。u与v满足:1. u|v的关系 2.v在1-n之间。样例:思路:u,v一共nlogn组,暴力枚举这些点。剩下的关键如何求他们间的距离。我们以任意一个点为根...原创 2019-07-24 09:59:49 · 184 阅读 · 0 评论 -
985C2. Encryption (medium) 状dp
第一次见到这样状压的dp,写一篇博客。朴素做法是区间dpdpij i表示的是位置,j表示的是当前情况分了j块的最大值。每次一个状态i枚举j块,再枚举0-i来取j最大。dpij = max(dpij,dpzi-1+(sumi-sumz)%p)#include <bits/stdc++.h>using namespace std;#define ll long long#de...原创 2019-07-30 18:35:30 · 156 阅读 · 0 评论 -
19icpc网络赛补题记录及题解
南京网络赛A题意:一个蛇形矩阵,每个数美丽值等于十进制各位的权值相加,标记一些点,每次问一个矩阵内美丽值之和思路:可以通过根据x,y推出被标记的点数值,再利用二维偏序按x排序,树状数组维护y。每次查询为二维平面的矩阵差分。代码:#include <bits/stdc++.h>using namespace std;#define ll long long#defin...原创 2019-09-11 09:00:18 · 184 阅读 · 0 评论 -
2019西北大学新生训练第一弹题解
https://vjudge.net/contest/325824#overview只有后4题和H题的题解,其他题不会的同学去群里问问过的同学。N题 思维题题解:没魔法的时候:按顺序来,用一个cnt来计数,遇到左括号++,右括号就消耗一个–,中间有一次cnt<0那么代表这个串已经不合法了输出No。有魔法的时候其实就是cnt<0有一次机会,那么我们第一次cnt<0不输出No...原创 2019-09-20 02:20:02 · 1030 阅读 · 0 评论 -
19上海icpc网络赛 G Substring哈希好题
这道题乍一看不能hash实际上最多sqrt(1e5)种长度,所以1e4*sqrt(1e5)就可以了但这种hash第一次见#include <bits/stdc++.h>using namespace std;#define ull unsigned long long#define forn(i,n) for(int i=0;i<n;i++)#define for1(...原创 2019-09-20 03:05:45 · 180 阅读 · 0 评论 -
cf 510c Fox And Names 拓扑排序
题意: n(100)个字符串长度不超过100,按照题目给出的顺序能否重新定义一下字典序。如果可以输出这26个字母思路:拓扑排序代码:#include <bits/stdc++.h>using namespace std;#define ll long long#define forn(i,n) for(int i=0;i<n;i++)#define for1(i,n...原创 2019-09-22 17:05:02 · 141 阅读 · 0 评论 -
CF1076D 最短路树
题意:n个点m条边,最多可以删除m-k条边,使得剩下的边为构成原图的最短路树。思路:dij之后跑一边dfs最短路树。代码:#include <bits/stdc++.h>using namespace std;#define ll long long#define forn(i,n) for(int i=0;i<n;i++)#define for1(i,n) for...原创 2019-09-27 14:48:11 · 189 阅读 · 0 评论 -
Codeforces Round #590 (Div. 3) 训练总结及A-F题解
总结:A5mins ac,B过的慢22mins ac,接着就被c卡了一小时1小时ac,写到了d题,因为打星练了下手速,无板子17mins ac还算不错,e是个差分,f思维题。总结:C题想多一点,就节省了很多代码量。E题要静下心写。题解:A.题意:00个货物,价格不一。使所有货物价格变为一个价格,且新总价格>=原sum且要求变动最小。思路:-1找到平均值+1代码:#inc...原创 2019-10-02 14:22:01 · 176 阅读 · 0 评论 -
Luogu P2731 骑马修栅栏 Riding the Fences
圈套圈板子题,详解推荐看这位大佬的博客:https://www.cnblogs.com/acxblog/p/7390301.html#include <bits/stdc++.h>using namespace std;#define ll long long#define forn(i,n) for(int i=0;i<n;i++)#define for1(i,n) ...原创 2019-10-04 20:20:27 · 123 阅读 · 0 评论 -
cf527 E Data Center Drama
题意:无向图,让你定向每条边,有必要可以加一些边,使得图中每个点的入度和出度%2==0,输出最小加边的构造方式。思路:奇度相连。a-b-c-d-e改为a->b<-c->d<-e,边为奇数任意一个点连一个自环,之后跑欧拉回路。代码:#include <bits/stdc++.h>using namespace std;#define ll long lo...原创 2019-10-05 15:12:55 · 242 阅读 · 0 评论 -
Codeforces Round #442 (Div. 2) B.Nikita and string
双指针方法以前立志要跟鸡老师学dp,结果中途而废。隔了三个月然后这道1500的dp做不出来。。。题目链接:http://codeforces.com/contest/877/problem/B思路:存a和b的前缀数目。那我们可以枚举所有中间区间[i,j]a:[0-i] b:[i-j] a:[j-n] 把每个区间对应的值加起来。取最大值!妙啊!#include <bits/stdc...原创 2019-05-23 22:19:36 · 156 阅读 · 0 评论 -
Educational Codeforces Round 32 D. Almost Identity Permutations
题目链接:http://codeforces.com/contest/888/problem/D我用的组合数学做的,这里需要学一个公式。错排的公式: D(1)= 0, D(2)= 1, D(n)= (n- 1)*(D(n-1)+ D(n-2))具体解释链接:https://www.cnblogs.com/c1299401227/p/5349727.htmlK范围为1-4k>=1 a...原创 2019-05-23 00:35:13 · 105 阅读 · 0 评论 -
Educational Codeforces Round 65 (Rated for Div. 2) A-F解题报告
这场被B题坑了一小时,其他做起来都是一眼题。A:正常模拟就好代码:#include <bits/stdc++.h>using namespace std;#define forn(i,n) for(int i=0;i<n;i++)#define for1(i,n) for(int i=1;i<=n;i++)#define ll long long#defi...原创 2019-05-16 20:43:04 · 477 阅读 · 7 评论 -
Gym - 102035D:Coach Ayoub
思路:找到两边边界值输出即可。有坑点。#include <bits/stdc++.h>using namespace std;int main(){ int n,a,b,s; cin >>n>>a>>b>>s; int l,r; l = (n-1)*a+b,r=(n-1)*b+a; if...原创 2019-03-29 20:44:33 · 212 阅读 · 0 评论 -
Gym 102035E:New Max
思路:排序 计数 有坑点 注意M可以等于0#include <bits/stdc++.h>using namespace std;#define for1(i, n) for (int i = 1; i <= n; i++)#define forn(i, n) for (int i = 0; i < n; i++)int a[1000];int main()...原创 2019-03-29 21:12:42 · 225 阅读 · 0 评论 -
Gym 102035H :Zuhair and the Dag
思路:由高位指向低位及一个闭环#include <bits/stdc++.h>using namespace std;#define for1(i, n) for (int i = 1; i <= n; i++)#define forn(i, n) for (int i = 0; i < n; i++)#define IO ios::sync_with_std...原创 2019-03-29 22:07:40 · 281 阅读 · 0 评论 -
Mahmoud the Thief Gym - 102035B
题目链接:https://codeforces.com/gym/102035/problem/B思路:相差用取余解决n*logn(二分,STL等等)STL思路:用map记录%m相同值的个数,用set记录有几种%m的数。二分思路:由题意知,最多操作n-1次,最少操作0次,二分这个区间。如果剩下1种数ans记录一次,尝试有没有更少的操作次数。STL代码:二分代码:...原创 2019-03-26 18:48:55 · 368 阅读 · 0 评论 -
Gym 102035 NWU2019组队赛2.0
Contents比赛复盘比赛总结题解题目总结比赛复盘我队本次打够3.5h solved 9/13 rank4liuxx:DEJKLMB/2 cxy: AH ap: JB/2前一小时:开题后cxy秒了a题Liuxx和我在m题分题的上面浪费了3分钟,liuxx同时开始开M,特殊情况没有考虑wa3,10分钟第三。同一时间我和cxy开始读题:(b暂定不可开放后期...原创 2019-03-29 22:08:12 · 222 阅读 · 0 评论 -
Gym 102035A
题目链接:https://codeforces.com/gym/102035/problem/A思路:n*4tag 水题原创 2019-03-24 16:46:13 · 225 阅读 · 0 评论 -
Codeforces Global Round 2: D.Frets On Fire
题目链接:https://codeforces.com/contest/1119/problem/D题意:1e5个数,每个数是一个起点,从起点每次+1,1e18次。询问1e5次,在这个区间内不同的数有多少。思路:很容易想到暴力怎么做,但O(n*m),TLE–暴力不会的话这题就以后看吧怎么优化,Olognm或者预处理或者离线操作On+m.主要讲讲离线操作(其他我没想出来),我们做一次每个...原创 2019-04-08 16:10:29 · 165 阅读 · 0 评论 -
OpenJ_Bailian - 3177 判决素数个数 坑题
#include <bits/stdc++.h>using namespace std;#define IO ios::sync_with_stdio(false);cin.tie(0);cout.tie(0) bool judge(int x){ int z = floor(sqrt(x)+0.5); for(int i=2;i<=z;i++) if(...原创 2019-04-09 14:05:32 · 265 阅读 · 0 评论 -
Codeforces#552 div2 Shovels Shop
题意:从n个物品买k个,此时有m个优惠,对于一个一次性买了x个物品,可以免费这x中最便宜的y个物品。思路:枚举取每种优惠最低值,dp#include <bits/stdc++.h>using namespace std;#define ll long long #define forn(i,n) for(int i=0;i<n;i++)#define for1(i...原创 2019-04-18 11:38:22 · 232 阅读 · 0 评论 -
Codeforces Round #553 (Div. 2) E - Number of Components
题目链接:http://codeforces.com/contest/1151/problem/E题意:n个点每个点和前一个点以及后一个点相连,且每个点有一个权值。定义一个函数f(l,r)权值在(l,r)的点的联通块的数量。求l从0-n,r从0-n的累加和。思路:引用一下出题人的原话暴力求解很好想,枚举L,R的区间,在每个区间跑一次n循环,开一个新数组b记录权值在范围内的为1,其余为...原创 2019-04-20 04:09:01 · 183 阅读 · 0 评论 -
Codeforces Round #558 (Div. 2) A-C解题报告
这场有点可惜,ABC都是一眼题,Bmap卡了erase,C没想到用map+set存这个A题:不难看出n/2为界限,注意当m=0的时候。我为了保险和1去了max输出代码:https://paste.ubuntu.com/p/VmSF4VQgsx/B题:B1的数据暴力可以过,我们来看看B2的怎么解决。1e5个数,可以开双层map或者,一层计数数组,一层map。就是写起来有点绕,剩10分钟才写出来...原创 2019-05-10 03:40:25 · 126 阅读 · 0 评论 -
Codeforces Round #560 (Div. 3) A-F解题报告
现场赛三题,先吐槽下。c意识到贪心太晚,d被卡坑点,e会做了发现时间不够,f我觉得不假啊,补题的时候一直wa。比赛一开始,读题有点慢,读懂后A题,就开始写。B题在纠结用multiset还是优先队列,其实3分钟就写完了,觉得不会这么简单,稳了一手才交。C题,没有一眼秒就去看了D题,发现D题读不懂,才开始想C。发现不用那么复杂啊,直接贪心。比赛结束20分钟前一直在怼D,被卡坑点了好烦,E题读了下...原创 2019-05-15 17:40:30 · 247 阅读 · 0 评论 -
cf 429e Points and Segments
题意:给1e5个区间(区间大小1e9,构造区间01染色,可否构造出每个点被染成0和被染成1的次数一样。思路:想通一点,不可能输出-1差分,染色相当于a[l]++,a[r+1]–设蓝+1,红-1,那么染蓝a[l]++,a[r+1]–;染红a[l]–,a[r+1]++把差分问题转为建图,a[l]++,a[r+1]–变为从l到r+1的有向边,同理染红相反问题可以转换为如何使得每个点入度和出...原创 2019-10-05 18:50:01 · 188 阅读 · 0 评论