![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
CF题目
浅梦曾倾
java选手
展开
-
Codeforces Round #675解题报告
题目链接A、Fence水题,多种做法。//可能解法不是常规思路。#include<bits/stdc++.h>using namespace std;#define ll long longint main(){ int t; cin >> t; while(t--){ ll a,b,c; cin >> a >> b >> c; int minn = min(a原创 2020-10-06 00:30:52 · 196 阅读 · 1 评论 -
Codeforces Round #672 (Div. 2)Pokémon Army (easy version)
题目链接【题意】给定一个数组,从k(1<=k<=n)个索引中选择一个数组b,即1≤ b1 < b2 < bk ≤n,找出子序列的元素的交替和的最大值;【思路】简单动态规划while (t--){ cin >> n >> q; for (int i=1; i<=n; i++) cin >> a[i]; for (int i=1; i<=n; i++) { dp原创 2020-09-26 00:49:52 · 81 阅读 · 0 评论 -
Codeforces Round #672 (Div. 2) B. Rock and Lever
题目链接【题意】给你一个正整数n和一个正整数数组a。任务是计算 ai&aj ≥ ai^a j的对(i,j)的数目。【思路】根据题意可以知道,只需要比较每两个数的二进制位数即可。如果两个数的最高位数相同,那么一定满足条件,如果不同,则一定不满足。有两种做法。第一种做法:先排序,因为是判断的二进制位,所以只需要每两位进行比较即可。sort(a+1,a+1+n);for(ll i=2;i<=n;i++){ if((a[i]&a[i-1])>=(a[i]^a[i-原创 2020-09-26 00:24:38 · 106 阅读 · 0 评论 -
Codeforces Round #671 解题报告
题目链接A、Digit Game思维题,写的有点麻烦,具体看代码。#include<bits/stdc++.h>using namespace std;#define ll long longint main(){ int t; cin >> t; while(t--){ int n; string a; cin >> n >> a; if(n==1){原创 2020-09-20 22:44:47 · 95 阅读 · 0 评论 -
Codeforces Round #664解题报告A~D
A、Boboniu Likes to Color Balls水题,但是写起来挺麻烦的……#include<bits/stdc++.h>#define ll long longusing namespace std;const int N=500;ll a[N];int main(){ int t,n; int r,g,b,w; cin >> t; while(t--) { int js=0,os=0,a0=0;原创 2020-08-14 01:21:00 · 117 阅读 · 0 评论 -
Codeforces Round #663 解题报告A~C
题目链接A、Suborrays水题。#include<bits/stdc++.h>using namespace std;#define ll long long#define inf 0x7fffffffconst int N = 1e5 + 10;const double PI= acos(-1.0);const int mod = 1e9 + 7;int a[N],vis[N],num[N];int main(){ int t,n; cin >原创 2020-08-11 00:54:46 · 119 阅读 · 0 评论 -
Codeforces Round #662题解报告A~C
题目链接A、Rainbow Dash, Fluttershy and Chess Coloring水题,找找规律即可。#include<bits/stdc++.h>using namespace std;#define ll long long#define inf 0x7fffffffconst int N = 1e5 + 10;const double PI= acos(-1.0);ll ans[N],b[N];int main(){ int t;ll n;原创 2020-08-09 00:15:06 · 139 阅读 · 0 评论 -
Codeforces Round #661 A~D
题目链接A、Remove Smallest水题#include<bits/stdc++.h>using namespace std;#define ll long long#define inf 0x3f3f3fconst int N = 2e5 + 10;const int maxn=4000;const double PI= acos(-1.0);int a[N];int main(){ int t,n; cin >> t; whi原创 2020-08-06 18:39:13 · 128 阅读 · 0 评论 -
Codeforces Round #657 A、B
题目链接A、Acacius and String题意: 给你一个长度为n的字符串s,由小写英文字母和问号组成。是否可以用小写英文字母替换问号,使字符串“abacaba”在结果字符串中作为子字符串出现且仅出现一次。思路:这题就真的暴力……暴力查找符合该串的即可……...原创 2020-08-05 00:04:23 · 212 阅读 · 0 评论 -
Educational Codeforces Round 92 B.Array Walk
B、Array Walk题目链接题意:直线上n个位置,走到一个位置则获得这个位置的分数。最多走k次,从左向右走,最多向左走z次。且当前向左走了,下一次不能再向左走。问获得分数最大是多少。思路:贪心即可,之前想过dfs和dp都没得想出来思路,找题解的时候发现了贪心的做法。其实分析这道题,其实只有两种走法,1、从左向右走,2、在两个位置反复行走。然后就可以从左到右找,记录相邻两个数的和的最大值,找分数的最大值即可。具体看代码。#include<bits/stdc++.h>using n原创 2020-07-31 01:22:29 · 144 阅读 · 0 评论 -
Codeforces Round #590 题解报告
题目链接A、Equalize Prices Again水题,找平均数就行。#include<bits/stdc++.h>using namespace std;#define ll long longconst int N = 2e5+10;ll a[N],b[N],pd[N];int main(){ int t,n; cin >> t; while(t--) { cin >> n; ll sum = 0;原创 2020-07-23 01:34:41 · 159 阅读 · 0 评论 -
Codeforces Round #658解题报告A~C2
题目链接A、Common Subsequence水题,找两个数组中有没有相同的字符就可以了。#include<bits/stdc++.h>using namespace std;#define ll long longconst int N = 2e5+10;int a[N],b[N],pd[N];int main(){ int t,n,m,k,l=0,r=0; cin >> t; while(t--){ cin >&g原创 2020-07-22 23:40:11 · 148 阅读 · 0 评论 -
Educational Codeforces Round 74 解题报告
A、Prime Subtraction水题,只要两个数相差不为1即可。B、Kill 'Em All题意:在坐标轴上有n个怪物,都在坐标轴正方向,一旦这些怪物到达0点或者坐标轴负方向,则怪物会被杀死。现在你可以对任意位置发射炮弹,如果炸到怪物,则怪物死亡,位于炮弹左边的怪物向左移动距离r,右边的怪物向右移动距离r,问多最少多少炮弹把所有怪物杀死。思路:首先想的是贪心,让炮弹炸死最远的怪物,其他的怪物向原点方向移动距离r,然后判断即可。思维题,其实有思路之后就很好解决了。#include<bi原创 2020-07-21 01:12:54 · 148 阅读 · 0 评论 -
Codeforces Round #656 (Div. 3)解题报告 A~D
题目链接A、Three Pairwise Maximums给定x、y、z三个数,其中x=max(a,b),y=max(a,c),z = max(b,c),求出a、b、c。思维题,想了半天,根据xyz的关系来判断的,具体看代码。#include<bits/stdc++.h>using namespace std;#define ll long longconst int N = 2e5+10;int a[N],b[N];int main(){ int t,n; c原创 2020-07-19 00:28:36 · 139 阅读 · 0 评论 -
Codeforces Round #595题解报告
A、Yet Another Dividing into Teams题意是n个学生,每个学生的能力值不同,现在要求将这些分组,且能力值相差为一的学生不能同一组。思路,其实考虑一下的话最多分成两组,如果任意两个能力值相差大于1,那么一定可以分为一组,但凡有一对相差为1,那么一定分为两组。排序,再遍历查询。算是水题吧。B1、Books Exchange(easy version)题意是给你一个序列,第 i 个数可以到达第a[i]位置,问最少几次能够回到 i 。大体思路,因为是简单问题,数据比较少,直原创 2020-07-12 01:58:25 · 148 阅读 · 0 评论 -
Educational Codeforces Round 75
题目链接A、Broken Keyboard水题,题意是有一些按键有毛病,按一下出来俩,问你有哪几个键正常。思路大体是,判断连续出现的字符是否为单数,如果连续出现的字符是单数的话即案件正常。#include <bits/stdc++.h>using namespace std;const int inf=0x3f3f3f3f;const int N='z'+10;int pd[N];int main(){ int t; string a; cin >原创 2020-07-11 01:21:12 · 252 阅读 · 0 评论 -
Educational Codeforces Round 76题解报告
题目链接A、Two Rival Students【题意、思路、解题过程】题意大概是长度为n的路,可以将相邻两个数交换至多k次,问两个人最远距离是多少。思路就是尽量把两个人往两把放即可,水题。#include<bits/stdc++.h>using namespace std;#define ll long longint main(){ int n,t,k,a,b; cin >> t; while(t--) { ci原创 2020-07-10 01:29:54 · 165 阅读 · 0 评论 -
Codeforces Round #598 题解报告
A、Payment Without Change【题意、思路、解题过程】题意大体是给了a个价值为n的硬币,b个价值为硬币,问能不能拼出S。水题,优先用价值为n的硬币,看剩下的s是否大于等于b即可。【代码】#include<bits/stdc++.h>using namespace std;#define ll long long#define inf 0x3f3f3f3fint main(){ int t; ll b,a,n,s; cin >&原创 2020-07-09 01:59:44 · 245 阅读 · 0 评论 -
Educational Codeforces Round 77 题解报告
A、Heating【题意、思路、解题过程及其感想】原创 2020-07-08 01:42:56 · 214 阅读 · 0 评论 -
Codeforces Round #605 (Div. 3)题解报告
A、Three Friends【题意】在直线上有三个点 a、b、c,每个点都可以向左或者向右移动1个单位,问 |a−b|+|a−c|+|b−c| 最小值是多少。【思路、解题过程及感想】首先将a、b、c排列(这里我直接装进数组用的sort),然后进行判断。排序后a >= b >= c,那么|a−b|+|a−c|+|b−c|就可以化成2×(a - c),最小的数就是a == c的情况,为0。首先判断a、b、c三个数想不相等,如果相等就可以直接输出0,不相等的话a–,c++,因为要使2×(a原创 2020-07-07 00:05:54 · 220 阅读 · 0 评论 -
Codeforces Round #654 (Div. 2) A~D
题目链接A、Magical Sticks思维题,找找规律即可。#include<bits/stdc++.h>#define INF 0x3f3f3f3f#define ll long longusing namespace std;int main(){ ll n,t; cin >> t; while(t--) { cin >> n; if(n==1||n==2) cou原创 2020-07-03 15:40:24 · 149 阅读 · 0 评论 -
Codeforces Round #653 (Div. 3) A~D
题目链接A Required Remainder这个题用循环做超时好多次,最后发现用不到循环……#include<bits/stdc++.h>using namespace std;#define ll long longint main(){ int t; cin >> t; ll x,n,k,y; while(t--) { bool flag = 0; cin >> x >&g原创 2020-06-30 01:17:48 · 113 阅读 · 0 评论