![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
思维题
a1214034447
这个作者很懒,什么都没留下…
展开
-
Codeforces Round #846 (Div. 2) ABEF
Codeforces Round #846 (Div. 2)原创 2023-02-16 15:17:07 · 100 阅读 · 0 评论 -
Codeforces Round #818 (Div. 2) A-E
Codeforces Round #818 (Div. 2)原创 2022-11-04 16:54:51 · 85 阅读 · 0 评论 -
Codeforces Round #802 (Div. 2) 题解
Codeforces Round #802 (Div. 2)原创 2022-09-08 20:12:29 · 409 阅读 · 0 评论 -
Codeforces Round #798 (Div. 2) - E. ANDfinity
Codeforces Round #798 (Div. 2) E. ANDfinity原创 2022-08-18 16:58:26 · 108 阅读 · 0 评论 -
Educational Codeforces Round 123 (Rated for Div. 2) A-E
题目链接:http://codeforces.com/contest/1644A. Doors and Keys水题#include<bits/stdc++.h>using namespace std;#define inf 0x3f3f3f3f#define lson l,mid,rt<<1#define rson mid+1,r,(rt<<1)|1typedef long long ll;const int mx = 3e5 + 10;.原创 2022-03-12 23:07:33 · 272 阅读 · 0 评论 -
Codeforces Round #603 (Div. 2) 题解
题目链接:https://codeforces.com/contest/1263A - Sweet Problem把最小值分摊给其他两个,然后剩下的再加上最小值#include<bits/stdc++.h>#define x first#define y second#define inf 0x3f3f3f3fusing namespace std;typ...原创 2019-12-04 13:38:54 · 303 阅读 · 0 评论 -
Educational Codeforces Round 77 (Rated for Div. 2) 题解
题目链接:https://codeforces.com/contest/1260A - Heating #include<bits/stdc++.h>#define inf 0x3f3f3f3fusing namespace std;typedef unsigned long long ull;typedef long long ll;typedef pai...原创 2019-11-30 21:00:15 · 231 阅读 · 0 评论 -
Codeforces Round #601 (Div. 2) 题解
题目链接:A - Changing Volume水题#include<bits/stdc++.h>#define x first#define y second#define inf 0x3f3f3f3fusing namespace std;typedef long long ll;typedef pair<int,int> pa;con...原创 2019-11-30 20:34:22 · 217 阅读 · 0 评论 -
The 2019 China Collegiate Programming Contest Harbin Site
题目链接:https://codeforces.com/gym/102394A - Artful Paintings设S[i]表示前i个位置放了i个灯泡,那么就有这么一些关系,0 <= S[i] - S[i-1] <= 1,S[Ri] - S[Li-1] >= Ki,S[n] - (S[Ri] - S[Li-1]) >= Ki由于第三个式子有三个未知数,又...原创 2019-11-07 16:04:22 · 455 阅读 · 0 评论 -
2019-2020 ICPC, Asia Jakarta Regional Contest (Online Mirror, ICPC Rules, Teams Preferred)
题目链接:https://codeforces.com/contest/1252A - Copying Homework水题#include<bits/stdc++.h>using namespace std;const int mx = 1e5+5;struct node{ int id,x; bool operator<(const node &...原创 2019-11-06 23:27:22 · 421 阅读 · 0 评论 -
CodeForcese 1256F [思维]
题目链接:https://codeforces.com/problemset/problem/1256/F解题思路:任意的翻转都可以认为是翻转若干个长度为2的,交换两个数主要奇数次翻转。两个串可以翻转成一样,那么一定可以再花费一样的翻转次数变成有序的字符串,连续两个相等的字符翻转任意数次是一样的,所以只要有两个字符一样一定可以。接下来就是看冒泡排序的次数了。很明显两个字符翻转偶数次等于...原创 2019-11-06 20:31:29 · 262 阅读 · 0 评论 -
Codeforces Round #594 (Div. 2) 题解
题目链接:https://codeforces.com/contest/1248A - Integer Points水题#include<bits/stdc++.h>using namespace std;const int mx = 1e5+5;typedef long long ll;int a[mx],b[mx]; int main(){ int ...原创 2019-11-05 16:00:54 · 296 阅读 · 0 评论 -
CodeForces 1250E [2-sat]
题目链接:https://codeforces.com/contest/1250/problem/E解题思路:首先根据反转的性质有: 有字符串a,b,a的反转A,b的反转B,如果a和b匹配值为K,那么A和B的值也为K 同样a和B匹配值为M,那么A和b的匹配值也为M,因此有对称性那么就可以转换成2-sat问题了,设点i的对立点集是i+n,也就是a和...原创 2019-11-03 23:03:44 · 339 阅读 · 0 评论 -
CodeForces 1250G [贪心]
题目链接:https://codeforces.com/contest/1250/problem/G解题思路:题目的另一个意思就是每次按动reset意思就是原来的sa,sb(表示a,b现在的积分)变成了sa = sa -min(sa,sb),sb = sb - min(sa,sb),根据这一的性质我们就可以都得到一个结论就是,当只执行到第i轮时,最后一次按下了reset是在第k轮...原创 2019-11-03 22:53:07 · 440 阅读 · 0 评论 -
Codeforces Round #589 (Div. 2) -- 题解
A. Distinct Digits#include<bits/stdc++.h>#define inf 0x3f3f3f3fusing namespace std;typedef long long ll;const int mx = 1e5 + 10;int top;int a[mx];bool check(int i){ bool b[20]; memse...原创 2019-10-15 20:57:58 · 257 阅读 · 0 评论 -
Codeforces Round #546 (Div. 2) 题解
题目链接:http://codeforces.com/contest/1136A. Nastya Is Reading a Book水题。#include <bits/stdc++.h>#define fi first#define se second #define lson l,mid,rt<<1#define rson mid+1,r,rt...原创 2019-03-19 21:16:01 · 203 阅读 · 0 评论 -
Comet OJ - Contest #3 A-D
题目链接:https://www.cometoj.com/contest/38/problemsA.比赛暴力枚举+排序#include <bits/stdc++.h>using namespace std;typedef long long ll;typedef unsigned long long ull;const int mx = 500 + 10;...原创 2019-05-11 17:30:12 · 314 阅读 · 0 评论 -
Gym - 101170A[DP+思维]
题目链接:https://vjudge.net/problem/Gym-101170A解题思路:首先要确定的是,改变次数最多不会超过2*n次,因为n最多40,所以我们只要改变每个数的前两个最高位,肯定可以让n个数有序。然后我们就可以想办法搞个DP[i][j]表示将前i个数变成有序花了j次的最小值。为什么是最小值呢,维护最小值就是使得高位尽量小,那么就使得后面的数,更有机会直接...原创 2019-05-08 17:53:29 · 217 阅读 · 0 评论 -
Gym - 101170H[格雷码规律]
题目链接:https://vjudge.net/problem/Gym-101170H解题思路:如果用一个值给他们做排名,可以发现一个格雷码的值是从高位开始间隔性+,-变化2^(i)-1。#include<bits/stdc++.h>using namespace std;typedef long long ll;char a[105],b[105];int...原创 2019-05-05 16:46:03 · 348 阅读 · 0 评论 -
Comet OJ - Contest #2 A-E
题目链接:https://cometoj.com/contest/37/problemsA.因自过去而至的残响起舞对于爆炸型增长的数来说,增长到x只需要log级别就ok了,所以直接暴力就好了。#include <bits/stdc++.h>using namespace std;typedef long long ll;const int mx = 1e5 +...原创 2019-04-29 12:34:18 · 269 阅读 · 0 评论 -
Gym - 101480K[DFS+思维]
题目链接:http://fastvj.rainng.com/problem/Gym-101480K题目链接:实际上我们只能确定出三种情况:1.入度为0的点肯定在s集合内2.s集合内挑战的点肯定在集合外3.没有被s集合内挑战过的点肯定在s集合内那么剩下的点肯定就是无法判断在s内还是外了,所以任取一边就好了,并且上面的三种情况我们可以用dfs处理。剩下不确定的点肯定挑...原创 2019-05-02 21:46:09 · 121 阅读 · 0 评论 -
Comet OJ - Contest #1 部分题解
题目链接:https://cometoj.com/contest/35/problemsA.牛吃草问题#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>using namespace std;typedef long long ll;...原创 2019-04-16 13:25:05 · 286 阅读 · 0 评论 -
Codeforces Global Round 2 题解
题目链接:http://codeforces.com/contest/1119/problem/AA. Ilya and a Colorful Walk两点的最远距离是相互的,所以其中一个点肯定是左右端点。#include<bits/stdc++.h>#define inf 0x3f3f3f3fusing namespace std;typedef long ...原创 2019-04-12 22:40:20 · 152 阅读 · 0 评论 -
Codeforces Round #548 (Div. 2) 题解
题目链接http://codeforces.com/contest/1139A. Even Substrings判断个位是否是奇数即可。#include <iostream>#include <set>#include <array>#include <vector>using namespace std;typedef...原创 2019-03-31 18:03:58 · 336 阅读 · 0 评论 -
Comet OJ - Contest #0 题解
题目链接:https://cometoj.com/contest/34/problemsA.解方程,(由公式可知y>=z,0<=n<=根号x)移项再平方可得那么如果n是个平方数,很明显解有无穷多个。否则必须满足 n = 4*y*z才有整数解,即 x = (z+y)。所以只要枚举n/4的所有因子就好了。(注意这样做卡longlong,要想不卡去筛素数吧)...原创 2019-04-03 21:15:08 · 649 阅读 · 1 评论 -
Gym - 100519B [离散+逆向思维+概率计算]
题目链接:https://vjudge.net/problem/Gym-100519B解题思路:如果这题先放置矩形,然后再去查找爆炸的直线与矩形的交,那么还要容斥,似乎就做不了了。那么我们不如先去放爆炸点,离散并算出每条直线会爆炸的总的概率。然后再去查询一个矩形,那么对于竖向爆炸每条的爆炸长度不就是等于矩形的宽吗,横向爆炸每条的长度也就是矩形的长了。然后就需要先预处理要前缀和的横...原创 2019-05-16 21:14:32 · 326 阅读 · 0 评论 -
Gym - 100851F[最短路+枚举]
题目链接:https://vjudge.net/problem/Gym-100851F解题思路:一个明显的结论就是石头肯定是放在两个石头或者河岸之间的,所以正向跑一遍最短路,反向跑一遍最短路,然后枚举i和j中间放石头就好了。由于相当于每个点都满边,所以只能去跑n^2最短路,不能用spfa了。#include<bits/stdc++.h>using namesp...原创 2019-05-16 21:19:25 · 214 阅读 · 0 评论 -
CodeForces 279C
题解思路:求区间是否是单调或先增后减中间可以有平的,那么前后扫一遍然后看左右边界延伸递增长度后是否相差#include #include #include #include #include #includeusing namespace std;typedef long long ll; const int mx = 1e5+10;int n,m;in原创 2017-10-16 22:22:56 · 690 阅读 · 0 评论 -
2019 百度之星初赛 [01-04]
题目链接http://bestcoder.hdu.edu.cn/contests/contest_show.php?cid=8621001:对小的暴力枚举#include<bits/stdc++.h>using namespace std;typedef long long ll;typedef complex<double> comp;cons...原创 2019-08-23 23:30:32 · 418 阅读 · 0 评论 -
幸运数字IV - 逆康托展开
解题思路:给定排列第k小序列,求出序列。这是就利用道理逆康托展开X = a[n](n-1)! + a[n-1](n-2)!.....a[1]*0.康托展开自行百度,很好理解的。题目链接:点击打开链接#include<bits/stdc++.h>using namespace std;typedef long long ll;const int mx = 1e...原创 2018-03-18 11:50:35 · 218 阅读 · 0 评论 -
小米 Online Judge TCO 预选赛 Rectangle [离散化+二维前缀和]
题目链接:https://code.mi.com/problem/list/view?id=151&cid=13解题思路:首先将x轴和y轴坐标离散化,然后就可以用二维前缀和求得每个格子被覆盖了几次,然后就可以求出每个格子的贡献,最后将总的贡献和乘以总的方案数的逆元即可。#include <bits/stdc++.h>#define x first#def...原创 2019-06-07 16:16:21 · 201 阅读 · 0 评论 -
Codeforces Round #566 (Div. 2) A-E
题目链接:http://codeforces.com/contest/1182A. Filling Shapes每两列有2种方法,所以是2的n/2次方#include <bits/stdc++.h>using namespace std;typedef long long ll;const int mod = 998244353;const int mx =...原创 2019-06-13 16:38:16 · 334 阅读 · 0 评论 -
牛客想开了大赛2 题解
题目链接:https://ac.nowcoder.com/acm/contest/907#questionA.【六】平面公式:(n*n+n)/2 + 1,n为直线数目B.【一】n的约数枚举质因子和每个质因子的个数,显然个数肯定从多到少。#include<bits/stdc++.h>typedef long long ll;using namespace ...原创 2019-06-01 17:05:51 · 141 阅读 · 0 评论 -
Comet OJ - Contest #4 A-E
题目链接:https://cometoj.com/contest/39/problemsA.骚动时节的少女们水题略。B.奇偶性1.当k是奇数时,所有数都是奇数,所以直接输出r-l+1.2.当k是偶数时,显然是偶数的位置是p = x*(k+1) - 1,x = 1,2,3,4....,所以对于这种情况来说只要多做个除法就好了#include <bits/std...原创 2019-05-28 14:30:08 · 297 阅读 · 0 评论 -
Gym - 100851J [随机+01集合]
题目链接:https://vjudge.net/problem/Gym-100851J解题思路:出题故意不给501次,就是要让我们去随机找出值为n/2的串,每次最坏的情况随机一个串值是n/2的概率是:约等于0.022。那我们随机400不中的概率是=0.000309336,概率非常低,所以几乎是可以找到的。找到之后s串后,同时改变0和i位置的值,询问此时值是否还是n/2,如...原创 2019-05-16 21:35:21 · 187 阅读 · 0 评论 -
UVALive - 6892[区间DP]
题目链接:https://vjudge.net/problem/UVALive-6892解题思路:一个表达式肯定可以分成左右两个部分然后以中间那个运算符合并之后的值,所以可以直接搞把数组复制两遍,然后搞个区间DP。#include <bits/stdc++.h>#define fi first #define se secondusing namespace ...原创 2019-05-12 21:08:26 · 133 阅读 · 0 评论 -
UVALive - 6889[并查集+STL]
题目链接:https://vjudge.net/contest/301219#problem/F解题思路:枚举每个矩形的时候,看它是否需要和其他人合并只需要查看它的外形边框是否又被标记,这个可以直接用离散化,然后set存一下每个矩形四个格子,就可以用log(n)找到合并的矩形,然后后并查集并一下就好了。#include <bits/stdc++.h>#define...原创 2019-05-12 21:03:26 · 195 阅读 · 0 评论 -
CF 542E - 构造
题目链接:http://codeforces.com/contest/1130/problem/E解题思路:设一个分界点x,假设a[1~x]<0,a[x+1~n]>=0,那么题目给的程序的结果一定就是ans = (n-x) * ∑a[x+1~n]但答案显然不是这样,设S = ∑a[x+1~n],l = (n-x),如果我要把a[x]加入进去可以使答案更大,那么就有...原创 2019-03-07 20:37:29 · 241 阅读 · 0 评论 -
CF 542D - 贪心
题目链接:http://codeforces.com/contest/1130/problem/D2解题思路:假设从i点转一圈回到i点,那么之前从i点下车的那个人肯定已经下车了,所以最后一个从i上车的肯定是经过的站最少一个那个(最少值为len[i]),这样就能保证最后一次不会多走。c[i]表示i车站有多少人,那么从第一次要把i车站的人送完最少要花:v(从起始点到i点的距离) + ...原创 2019-03-07 20:25:33 · 153 阅读 · 0 评论 -
Gym - 101775J(2017 EC final) - 差分序列
题目链接:点击这里 解题思路:差分序列:b[i] = a[i] - a[i-1]原序列为: 1 4 5 8 7 差分后: 1 3 1 3 -1 -7,多出来的以为可以看做0 - a[n].差分序列的性质:前i项和等于原序列的a[i],这个很容易就能证明如果要对一个区间的数都加上1,那么就是a[l]++,a[r+1]--,之后求一下前缀和就是当前位置更新后的值了.那不是和...原创 2018-09-24 18:58:00 · 475 阅读 · 0 评论