[CF套题] CF-1163】的更多相关文章

CF-1163 传送门 # Penalty A B1 B2 C1 C2 D E F 3 (483) 464 +0 0:06 +1 01:13 +3 01:12 + 01:57 + 01:56 A 第一个人离开时候不增加,第二个人离开时候隔一个走开 当m=0时,答案为0 n为偶数时,如果2m<=n那么答案为m,否则为n-m n为奇数时,如果2m<=n那么答案为m,否则为n-m,可以发现奇偶是一样的 int n,m; int main() { cin>>n>>m; if(m…
CodeForces 327A 题意:有n个数,都是0或1,然后必须执行一次操作,翻转一个区间,里面的数0变1,1变0,求最多1的数量 思路:最开始我写的最大字段和,后面好像写搓了,然后我又改成暴力,因为这个范围只有100,写n^3都没事,所以我们第一层枚举左区间,第二层枚举右区间,然后我们第三层记录左边1的数量,中间的0的数量,右边的1的数量即可 #include<cstdio> #include<cstring> #include<cmath> #include&l…
CF-1201 传送门 # = * A 500 B 1000 C 1500 D 2000 E1 2000 E2 1000 1 (2217) 1672 482 00:09 400 01:40 790 01:25 已补 A 存进去之后找最大的 一开始把变量写错了,耽误几分钟 #include <bits/stdc++.h> using namespace std; int n,m; char s[1010]; int c[1010][5],a[1010]; int main(){ cin>&…
被一道cf水题卡了半天的时间,主要原因时自己不熟悉c++stl库的函数,本来一个可以用库解决的问题,我用c语言模拟了那个函数半天,结果还超时了. 题意大概就是,给定n个数,查询k次,每次查询过后,输出最小的一个不为零的数x,同时这给定的n个数都要减去x.其实当一个数被输出后就可被丢弃了,因为它变成了0,成为了无用信息. 同时要求从小到大找,所以这道题可以直接用set函数解决,每输出一个数,就从set列表里删除. 下面插入代码 #include <bits/stdc++.h> using nam…
B. Lost Number[CF交互题 暴力] This is an interactive problem. Remember to flush your output while communicating with the testing program. You may use fflush(stdout) in C++, system.out.flush() in Java, stdout.flush() in Python or flush(output) in Pascal to…
已经有四套题没有写博客了.今天改的比较快,就有时间写.今天这套题是用的图片的形式,传上来不好看,就自己描述吧. 第一题:单词分类 题目大意:有n个单词(n<=10000),如果两个单词中每个字母的数量是一样的(比如:AABAC 和BCAAA)则为一类单词,每个单词长度不大于100,问这些单词可以分为几类? 样例:输入:3  AABCA AAABC BBCAA    输出:2 题解: 每次都在第一题是字符串的时候卡住,这次又卡了一个多小时..一般思路,就是枚举查找,排序,然后一个一个的比较,但是只…
这套题最后一题不会,然后先放一下,最后一题应该是大数据结构题 A:求连续最长严格递增的的串,O(n)简单dp #include <cstdio> #include <cstdlib> #include <cstring> #include <cmath> #include <iostream> #include <algorithm> #include <queue> #include <vector> usi…
Day1 事实上D1的题目还是比较简单的= =然而D1T2爆炸了就十分尴尬--错失一波键盘 看题 T1 传送门 Description 现在你手里有一个计算器,上面显示了一个数\(S\),这个计算器十分的牛逼,他只有两个按钮,分别可以把屏幕上显示的数加上\(1\)或者减去\(1\).并且,如果计算器屏幕上的数变成了负数,那么计算器就会损坏.现在你想要在\(K\)次操作之内吧屏幕上的数字变成\(T\),而且不让计算器损坏,求一共有多少种方案. 两种方案不同当且仅当按钮被按下的序列不同 Input…
写在前面 谨以此篇题解致敬出题人! 真的期盼国内也能多出现一些这样质量的比赛啊.9道题中,没有一道凑数的题目,更没有码农题,任何一题拿出来都是为数不多的好题.可以说是这一年打过的题目质量最棒的五场比赛之一了!(其中G.I和D题简直是好题中的好题!) 由于网上没有任何这套题的题解,我每道题都绞尽脑汁想了好久(尤其是D题.I题和H题证明),在此认认真真的写一篇博客,也真心希望好题能被更多的人发现和赞美. 题目概述 题目 思维难度  推荐指数 考点 A 3  ☆☆☆☆ 最长上升子序列 B 暂留坑,>7…
题意: 从左上角跳到右下角最少需要多少步,跳的规则为:可以向四个方向的任意一个方向跳当前格子中的步数,若跳不到右下角输出IMPOSSIBLE. 题解: BFS搜索,注意判断边界,标记. 代码: #include <iostream> #include <cstdio> #include <algorithm> #include <stdio.h> #include <cmath> #include <cstring> #include…
. 遇到一个很大的数除以另一个数时,可以尝试把这个很大的数进行,素数因子分解. . 遇到多个数的乘积与另一个数的除法时,求是否能整除,可以先求每一个数与分母的最大公约数,最后若分母数字为1,则证明可整除.或者把分子上的每个数进行素数因子分解,分母上的数也进行素数因子分解,若分子上的与分母上相同素数因子进行比较,分子上的素数因子指数大于分母位置上的,则证明可整除. . 遇到乘法的时候注意越界问题. . 遇到求某一个区间内,满足某一特征的数的个数,而这个特征与因子,约数有关,尝试用埃筛的方法. 今天…
前言 从后往前刷 update 新增 \(\text{\color{red}{Mark}}\) 标记功能,有一定难度的题标记为 \(\text{\color{red}{红}}\) 色. 题单 (刷过的题就会登记在上面) 2B The least round way 只有 \(2^a*5^b\) 尾随'\(0\)'的个数为 \(\text{min}(a,b)\),dp一遍就好了 4D Mysterious Present 5C Longest Regular Bracket Sequence [C…
拉题链接  https://vjudge.net/contest/430219#overview 原题链接  https://codeforces.com/problemset/problem/340/C 前言 cf 1600的题, 直接拿来给大一的做, 感觉有亿点点难, 这是个纯数学题, 我用的排列组合方法推导 题目 题意(其实我觉得还是看上边的Note好理解) 给n个数(分别为a1, a2 ...... an-1, 把这n个数全排(共Ann 个序列)一遍, 对于每个序列, 值=每个|ai -…
A-C传送门 D Karen and Cards 技巧性很强的一道二分优化题 题意很简单 给定n个三元组,和三个维度的上限,问存在多少三元组,使得对于给定的n个三元组中的每一个,必有两个维度严格小于. 首先我们根据一个维度(c维)对n个三元组排序,然后枚举答案在这个维度的取值. 此时序列被分成了两个部分,前半部分 满足所有c大于等于i 后半部分满足所有c严格小于i(即已有一个维度小于) 通过累计,我们知道此时前半部a维的最大值ma和b维的最大值mb. 显然可能存在的三元组答案,必然首先满足a维和…
比赛传送门 再次改下写博客的格式,以锻炼自己码字能力 A. Suits 题意:有四种材料,第一套西装需要 \(a\).\(d\) 各一件,卖 \(e\) 块:第二套西装需要 \(b\).\(c\).\(d\) 各一件,卖 \(f\) 块.问,怎么做套装卖的前最多. 题解:[贪心]---- 先选比较贵的那一套,因为 \(d\) 套都要用上则以它为基准,再用剩余材料加第二套的总价钱 // https://codeforces.com/contest/1271/problem/A #include<i…
1.PolandBall and Hypothesis 题面在这里! 大意就是让你找一个m使得n*m+1是一个合数. 首先对于1和2可以特判,是1输出3,是2输出4. 然后对于其他所有的n,我们都可以非常快的找到一个最小的与它互质的质数p(考虑反证法),并且满足p<n. 这样就相当与解一个同余方程 n*m = p-1 (mod p) , 解出的m可以保证 n*m+1 是 p 的倍数,也就是合数了. 又因为gcd(p,n)==1,所以这个方程肯定有解,直接求一个 n 在mod p意义下的逆元然后乘…
题目链接 : https://codeforces.com/problemset/problem/961/E One day Polycarp decided to rewatch his absolute favourite episode of well-known TV series "Tufurama". He was pretty surprised when he got results only for season 7 episode 3 with his search…
A I'm bored with life 水题 #include<bits/stdc++.h> using namespace std; typedef long long int LL; const LL N=1,M=1,MOD=1; int main() {//freopen("t.txt","r",stdin); ios::sync_with_stdio(false); LL a,b; scanf("%I64d%I64d",&…
A Mister B and Book Reading  O(n)暴力即可 #include<bits/stdc++.h> using namespace std; typedef long long int LL; const LL N=1,M=1,MOD=1; int main() {//freopen("t.txt","r",stdin); int c,v0,v1,a,l; scanf("%d%d%d%d%d",&c,&…
A Karen and Morning 水题 注意进位即可 #include<bits/stdc++.h> using namespace std; typedef long long int LL; int a,b; bool pal() { if((a%10)==(b/10)&&(a/10)==(b%10))return true; else return false; } void add() { b+=1; while(b>=60)b-=60,a+=1; whil…
A An abandoned sentiment from past 水题 #include<bits/stdc++.h> using namespace std; int a[300],b[300],n,k; bool cmp(int a,int b) { return a>b; } int main() {//freopen("t.txt","r",stdin); scanf("%d%d",&n,&k); f…
A The Contest 直接粗暴贪心 略过 #include<bits/stdc++.h> using namespace std; int main() {//freopen("t.txt","r",stdin); long long int n,sum=0,k; scanf("%lld",&n); for(int i=0;i<n;i++) { scanf("%lld",&k); sum…
A Sagheer and Crossroads 水题略过(然而被Hack了 以后要更加谨慎) #include<bits/stdc++.h> using namespace std; int main() { //freopen("t.txt","r",stdin); int a[4][4]; //memset(a,0,sizeof(a)); for(int i=0;i<4;i++) for(int j=0;j<4;j++) scanf(&…
A. Vladik and Courtesy 水题略过 #include<cstdio> #include<cstdlib> #include<cmath> using namespace std; typedef long long int LL; int main() { LL a,b; scanf("%I64d%I64d",&a,&b); LL num=1; while(true) { if(a<num){printf(&…
比赛传送门 这里推荐一位dalao的博客-- https://www.cnblogs.com/KisekiPurin2019/ A:字符串 B:贪心 A // https://codeforces.com/contest/1281/problem/A /* 暴力查找子序列 以最后的子序列为准 */ #include<iostream> #include<cstdio> #include<cstring> using namespace std; int T; char…
Problems(1300-1600) an ac a day keeps the doctor away Gas Pipeline (1500) 2019.10.28 题意: 管道工人需要在一段凹凸不平的道路上铺管子,给一串长度为n的01序列描述地形,1表示一定要把水管用钢管架高在离地面2个单位,0表示水管离地面高度可以为1,也可以为2. 在转折的地方需要额外花费1单位的水管,给定水管和钢管的价格a,b:问最少需要花费多少钱 思路:线性DP,用dp[i] [j] 表示前j列在第j列在第i层时的…
题:https://nanti.jisuanke.com/t/41350 分析:先将字符串转置过来 状态转移,因为只有5个状态,所以 i 状态到 j 状态的最小代价就枚举[i][k]->[k][j]的最小值(0<=k<=4) 0:初始状态 1:2 2:20 3:201 4:2019 mat[i][j]表示状态i转移到j的最小代价 #include<bits/stdc++.h> using namespace std; #define lson root<<1,l,…
Round 236 div.1 A:只需要每个点连接所有比他大的点,知道边用完为止. //By BLADEVIL #include <cmath> #include <cstdio> #define maxn 25; using namespace std; int main() { int task; scanf("%d",&task); while (task--) { int n,p; scanf("%d%d",&n,&…
没什么好说的 #include<iostream> using namespace std; ], x, y,n, m, ans; int main(){ cin>>n>>m; ;i<=n;++i){ cin>>x>>y; a[x]++; --a[y+]; } ;i<=;++i) a[i]+=a[i-]; ;i<=m;++i) )ans++; cout<<ans<<endl; ;i<=m;++i)…
题意:矩阵只包含0,1两种数字,给你一个矩阵A,另一个矩阵B,每一次可以从A中选出一个子矩阵,点击一次使得这个子矩阵的四个角的数字变成与原来相反的数,0变1,1变0.问你可不可以经过有限次的变换把矩阵A变成矩阵B. 思路:可以重新定义一个矩阵,矩阵A,B某位置元素相同,则记为0,不同记为1.则现在你的工作就是把这个新矩阵中数字为1的位置变为0.而点击一片大的区域使其四个角的数字变化,等价于直接点击四个角的数字.每个数字为1的数字都当点击一次,因为点击两次相当于没有变.所以要使得所有为1数字都变为…