Codeforces Round 1110 这场比赛只做了\(A\).\(B\).\(C\),排名\(905\),不好. 主要的问题在\(D\)题上,有\(505\)人做出,但我没做出来. 考虑的时候方向不对,一直抠一个思路不放,然后就一直做不出来. 虽然我中间也考虑过其他的思路,但是都没有思考完善,于是就一直在给我原来的方法加补丁. Codeforces 1110 D 题意:给定一个序列,问最多可以把该序列分成几个满足下列两个条件之一的三元组: 这三个数字相同 这三个数字为连续的三个数 思路:…
最近决定写一些CF Div.1的题,练习一下速度和代码能力. 暂定从中考后的Codeforces Round #572开始. 大部分比较简单的题直接把题解写在这里,不单独开文章了. Codeforces Round #572 (Div. 1) Codeforces Round #573 (Div. 1) Codeforces Global Round 4 Codeforces Round #576 (Div. 1) A 省略 B 省略 Codeforces Round #580 (Div. 1)…
题目链接: http://codeforces.com/problemset/problem/691/D 题目大意: 给一个1到N的排列,M个操作(1<=N,M<=106),每个操作可以交换X Y位置上的数字,求可以得到的最大字典序的数列. 题目思路: [搜索][并查集] 这题可以用搜索或者并查集写,都能过. 把位置分成若干块,每一块里面的位置都是可以被这一块里另一个位置经过若干次调换的(类似强连通,位置可达). 然后把每一块位置里的 位置按从小到大排序,位置上的值按从大到小排序,依次填入位置…
Codeforces Round 1137 这场比赛做了\(A\).\(B\),排名\(376\). 主要是\(A\)题做的时间又长又交了两次\(wa4\)的. 这两次错误的提交是因为我第一开始想的求最大值很不对,竟然还有\(min\)在里面... Codeforces 1137 A 题意:给一个矩阵,问对于每一个格子\((x,y)\),把第\(x\)行和第\(y\)列的值取出,要求将它们每一个赋上一个正整数,要求同一行.列中大小关系依然相同,问最大的数. 思路:我们先考虑每一行(列)的数们把它…
Codeforces Round 1114 这场比赛做了\(A\).\(C\).\(D\).\(E\),排名\(134\). \(B\)题做了很长时间,好不容易最后一分钟\(Pretest\ Passed\)了,但是又\(FST\)了... \(C\)题\(wa7\)了一次,因为爆\(long\ long\)了 \(E\)题\(wa1\)了一次,因为最后的输出格式错了…
Codeforces Round #601 (Div. 2) ---- 比赛传送门 周二晚因为身体不适鸽了,补题补题 A // http://codeforces.com/contest/1255/problem/A /* 签到题 简单的贪心题 本考虑过是否有先小于再加上去会更小的情况 但两种情况恰好步数是一样的 */ #include<iostream> #include<cstdio> #include<cmath> using namespace std; int…
Codeforces Round #600 (Div. 2) ---- 比赛传送门 昨晚成绩还好,AC A,B题,还能上分(到底有多菜) 补了C.D题,因为昨晚对C.D题已经有想法了,所以补起题来也快.(C题TLE了,D题想用并查集没好) A // http://codeforces.com/contest/1253/problem/A /* 如果YES,则b[i] - a[i] 在一个区间里的差肯定是相同的且不小于0 */ #include<iostream> #include<cst…
模拟CF650,ABC三题,RK90 Codeforces 650 A 思路:首先看式子 \(\sqrt{(x_i-x_j)^2+(y_i-y_j)^2}=|x_i-x_j|+|y_i-y_j|\) 的唯一可行的情况是\(x_i=x_j\)或\(y_i=y_j\).(因为两边之和大于第三边 所以就知道怎么做了. 第一种方法:我们维护三个\(map\),分别存行.列.坐标是\(\dots\)的时候已经有多少个节点. 然后就可以边读边算,读到\((x,y)\)这个坐标的时候把\(ans\)变成 \(…
模拟RD265 ABC三题,Rank58 Codeforces 464 A 题意:给定一个字符串,求比这个字符串字典序大并且和它长度相等的第一个不含有长度大于等于2的回文串的字符串. 思路:首先我们枚举最后一个与原串相等的位置,从后往前枚举,因为我们需要的是第一个字典序大于给定串的. 然后就枚举我们将下一个字符改变成了什么,再按照这种方法继续填充完整答案串即可. Codeforces 464 B 题意:给8个\((x,y,z)\)三元组,但是每个三元组的内部顺序可能是错乱的,问是否有可能把这些三…
http://codeforces.com/problemset/problem/755/D 每次新画一条对角线的时候,考虑其跨越了几条原有的对角线. 可以用树状数组区间修改点查询来维护多边形的顶点.答案每次增加 新对角线的左端点在多少个区间内+右端点在多少个区间内+1,每次把新画的对角线所覆盖的较小区间内部的每个点加1即可.注意,一定要是较小的区间,因为这样才能保证其左右端点不同时在区间内,不会重复统计. #include<cstdio> #include<algorithm>…