CF 798B 渣渣题】的更多相关文章

题目链接:http://codeforces.com/contest/798/problem/B 此题是我打河工大校赛前一晚熬夜打CF时硬肛过去的B题,今天补题时,偶然看到dalao的代码,ORZ,string和find函数的用法学到了.啦啦啦 虽然,那天现场赛炸了,但并不影响我的可爱呀,略略略!! #include<string> #include<cstdio> #include<iostream> using namespace std; int main() {…
题目是来自HZW的博客(构造题我是各种不会...) Solved 1 / 1 A CodeForces 500A New Year Transportation Solved 1 / 1 B CodeForces 437C The Child and Toy Solved 1 / 2 C CodeForces 510C Fox And Names Solved 1 / 3 D CodeForces 475B Strongly Connected City Solved 1 / 2 E CodeF…
Description: 遇到了ogo可以变成***如果ogo后面有go统统忽略,输出结果 Solution: 哎如果我一开始对题意的解读如上的话,就不会被整的那么麻烦了 Code: #include <iostream> #include <cstdio> #include <cstring> using namespace std; const int maxn = 150; /***找到一个题目的规律,做题的方法是多么的重要!!***/ /***以后没有好的方法,…
Description: 1 - n个数问你能否经过加减乘除这些运算n -1次的操作得到24 Solutrion: 一开始想暴力递推,发现n的范围太大直接否决,也否决了我的跑dfs,后来就像肯定有个递推规律,然后从1 - n模拟下,1-3直接no,发现4可以了,那么4 6 8 ……都可以了,就是多乘个1而已,但是模拟5的时候一时石乐志,没模拟出来,哎,就是卡脑子了,所以这个题就荣幸的写了博客 Code /* 写出4 和 5 的构造情况,对于后续的就是多乘个1 */ #include <iostr…
http://codeforces.com/problemset/problem/259/A PS9.8日做了但是忘了发博客,所以坚持3天了呦~ 终于读懂了这个题了,心累 Describe: 给你8 * 8的棋盘摆放问题,行的顺序可能是错乱的,问给你的8行是否能组成棋盘 Solution: 所以我们要检查的就是 1.棋盘有没有相邻的颜色相同 2.开头必须得是4 白 + 4黑(嘿嘿嘿,一开始我就是这么想的,但是!!!题目中右For that the friends can choose any r…
CF 1114A  Got Any Grapes(葡萄)? 题目意思:给三个人分葡萄,三个人对葡萄的颜色有一些要求,问所准备的三种颜色的葡萄能否满足三人的要求. 解题意思:直接按条件判断即可. #include<cstdio> #include<cmath> #include<cstring> #define ll long long int using namespace std; int main() { int x,y,z; int g,p,b; ; scanf(…
CF 1108A Two distinct points 题目意思:给你两个线段的起点和终点,让你给出两个不同的点,这两点分别处于两个不同的线段之中.解题思路:题目说如果存在多种可能的点,随意一组答案即可,这样其实我们只需要取最特殊的起点即可.但要注意如果起点相同,那我们需要找一个起点一个终点. #include<cstdio> #include<cmath> #include<cstring> #define ll long long int using namesp…
刚刚开始集训,集训队队长暂时还没有拉专题,而是拉了部分codeforces上过题人数在2000左右的题组成了一场热身赛(其实就是一场练习),花了一天时间终于把它刷完了,其中很多题让我学到了很多骚操作,还有题是问了学长才会的,自己真的是太菜了! 题目链接:http://codeforces.com/contest/879/problem/C 题目: 题意:对于任意的一个数x,进行题目给的n种位运算,得到一个新数y,然后让你进行压缩,只进行k次位运算操作(0<=k<=5),也能将x变成y,y的范围…
Description: 一个数组,保证相邻两个元素值得差小于1,问题,最大值和最小值的差 < 1的区间长度最长是多少 Solution: 还是卡了一下,本来以为是模拟就好了,但是卡时间,想来想去最后还是忽略了一个地方,就是它的保证,相邻元素值得差小于1,就保证了这个序列得变化是以1或0为单位相邻变化的,所以不可能出现5 4 6,所以我们考虑一个数字x的时候只要去找出现的位置就好,我们要找的可能区间有x 和 x + 1区间或者x 和 x - 1区间,所以我们看一下上一个x - 1 出现的位置和x…
Description: 非 * 号的地方可以放A或B,不能AA或BB,一共有a个A,b个B,问你最多放几个 Solution: 1.模拟一下,找连续空位长度,如果长度为奇数,则我可以有一个位置放任意一个,否则摆放消耗一定,最后放完了判断一下是不是还有剩下的,有剩下的就都放到任意位置 Code #include <iostream> #include <cstdio> #include <cstring> using namespace std; const int m…
Description: 给你一个指针,可以左右移动,指向的小写字母可以,改变,但都是有花费的a - b 和 a - z花费1,指针移动也要花费,一个单位花费1,问你把当前字符串变成回文串的最小化费是多少 Solution: 真是贪啊,也怪我没咋理解题意~~ 首先对于字母的调整肯定是有一个最优值得,无法改变的,能改变的就是我们是改变左区间的还是右边的呢? 我们可以记录改变字母的最大区间长度(一半的区间),我们从0遍历到中间,得到左区间的范围,如过p在左区间就用这个范围,否则用右区间的范围,所以不…
Descripe: 贪心,贪在哪里呢…… 给你初始速度,结尾速度,行驶秒数,每秒速度可变化的范围,问你行驶秒数内最远可以行驶多少距离 Solution: 贪心,我是否加速,就是看剩下的时间能不能减到原始给定的结尾速度 #include <iostream> using namespace std; int main() { int v1,v2; int t,d; while(cin>>v1>>v2) { cin>>t>>d; int ret =…
Description: 输入a,b,x,给你a个0,b个1,你要给出一个组合,让这个组合里存在x位,使得这x为和其x+1位不相等 Solution: 因为肯定有一个正确的答案,所以钻了一下空子,贪心,让个数多的在前,然后0101这样添加,知道最后一个需要满足的x,因为我这么贪心可定是能找到一个满足的,所以对于最后一个必然存在一个0/1和当前的倒数第一位不同,所以觜最后连续填充0/1,的到最后一个满足的x Code: #include <iostream> #include <cstdi…
Description: 给定你命名的规律,1-10个字符,开头必须大写,最多有50个名字,然后告诉你有n个人,判断区间长度为k,那么你将得到n - k + 1个答案(YES or NO) 表示1 - k,2 -k+1,n - K + 1-— n这些人里面是否没有重名,YES没有,NO有,让你推出一种名字的组合方式 Solution: 首先先跑出一个名字数组,这个题目要往后看,所以应该是从后往前推n - k + 2 到 n的名字没有要求,所以我们命名各不相同,从n - k + 1开始,如果是YE…
Description: 给你一个l,r的区间让你找一个最小的x并且其二进制数要包含最多的1位,输出它的十进制 Solution: 我本来就是贪心,但是贪大了,想1一直往上添加1,但是忘记了0在中间的情况,考虑好了之后,发现这样贪是错误的,因为越往后位数越大,所以你最后的结果只能是1,11,111,1111,11111,而不可能是10,100,1001,10010,所以应该从后往前贪,这也是我们十进制转二进制的人工算法吧算是,十进制转二进制,手算的时候,就是一步一步确定最高位的1在哪里, cod…
现在做的都好水啊,就不写博客了,线下有记录滴…
Description: [ 着实比较羞愧,都想着去暴力,把算法(方法)也忘了] A只涂x,2x,3x……,B只涂y,2y,3y……问你A和B共同涂的墙的个数 Solution: 就是求x和y的lcm,这里倒是想到了用x * y = gcd * lcm,但是算区间个数的时候我竟然去暴力了!!!! 区间1 - b所有的出现的个数是 b / lcm 区间1 - a所有的出现的个数是a / lcm 两个一相减就是(a,b]的个数了 很明显我们把a舍去了,最后可以加个判断也可以是b / lcm - (a…
Description: 给你两个数组,顺序一定,问你第一个数组连续的几个值等于下一个数组连续的几个值,然后寻找这个值得最大值,也就是满足就换 Solution: 用两个变量索引,判断即可 #include <iostream> #include <cstdio> using namespace std; const int maxn = 1e6 + 1e3; int a[maxn],b[maxn]; int main() { int n,m; while(~scanf("…
Description: n * m 的地图,建设k个管道管道只能横竖走,且长度大于等于2,问你任意一种建设方法 Solution: 图里没有障碍,所以先把前k - 1个管道每个分2个长度,最后一个管道一连到底 Code: PS:今天时间没来的急,其实函数可以封装一下的,虽然都是暴力,但也得暴力的优美不是?? #include <iostream> #include <cstdio> using namespace std; int main() { int n,m,k; whil…
Description: 跟你两个不相同的字符串,问你能否将第一个字符串任意两个字母交换一次使得两字符串相同,YES or NO Solution: 一维模拟就好了 #include <iostream> #include <cstring> #include <cstdio> using namespace std; const int maxn = 1e5 + 1e3; char s1[maxn],s2[maxn]; int main() { while(~scan…
http://codeforces.com/problemset/page/7?order=BY_SOLVED_DESC 从5000以内选的,emmm还是比较水的哈 时间还是有的,所以万事万物贵在坚持,希望能坚持下去! Describe: 1 - n个灯线性排列(初始为开),小明可以选择开关 op,这回把op - n 的灯全部关闭,如果(是关着的状态没有影响) 给你小明选择op的操作顺序,输出顺序输出每个灯是由哪个op操作关了的 Solution: 跑暴力就好了,我用了一个比较水的优化,记录当前…
题意: 从左上角跳到右下角最少需要多少步,跳的规则为:可以向四个方向的任意一个方向跳当前格子中的步数,若跳不到右下角输出IMPOSSIBLE. 题解: BFS搜索,注意判断边界,标记. 代码: #include <iostream> #include <cstdio> #include <algorithm> #include <stdio.h> #include <cmath> #include <cstring> #include…
1.B2   Books Exchange (hard version) 题意:有n(1~n)个孩子看书,定义一个数组,记录了每个孩子看完…
题目: 代码: #include<iostream> #include<algorithm> #include<vector> #include<string> #include<math.h> ; using namespace std; vector<int>ve[max_]; int sum[max_]; int main() { int n,m; ; ; scanf("%d %d",&n,&…
拉题链接  https://vjudge.net/contest/430219#overview 原题链接  https://codeforces.com/problemset/problem/340/C 前言 cf 1600的题, 直接拿来给大一的做, 感觉有亿点点难, 这是个纯数学题, 我用的排列组合方法推导 题目 题意(其实我觉得还是看上边的Note好理解) 给n个数(分别为a1, a2 ...... an-1, 把这n个数全排(共Ann 个序列)一遍, 对于每个序列, 值=每个|ai -…
http://codeforces.com/contest/707/problem/D 先说一下离线和在线:在线的意思就是每一个询问单独处理复杂度O(多少多少),离线是指将所有的可能的询问先一次都处理出来,最后对于每个询问O(1)回答. 然后说一下cf的这题: D. Persistent Bookcase time limit per test 2 seconds memory limit per test 512 megabytes input standard input output st…
先给出比赛地址啦,感觉这场比赛思维考察非常灵活而美妙. A. Odds and Ends ·述大意:      输入n(n<=100)表示长度为n的序列,接下来输入这个序列.询问是否可以将序列划分成奇数个连续部分,使得每一部分满足:开头结尾是奇数,序列长度也是奇数.如果可以输出Yes否则输出No. ·分析:     我们发现这是一道与奇偶性有关的问题,因此尝试进行一些分类讨论来探求解法.序列需要满足什么特点才能满足题目要求呢?      第一个突破口是:"划分成奇数个序列,每个序列长度为奇…
还不怎么熟悉cf呢.. 你应当知道的关于Codeforces的事情 Codeforces简称: cf(所以谈论cf的时候经常被误会成TX的那款游戏).网址: codeforces.com 这是一个俄国的算法竞赛网站,由来自萨拉托夫州立大学.由Mike Mirzayanov领导的一个团队创立和维护,是一个举办比赛.做题和交流的平台.举办比赛和做题就不说了,“交流”指的是自带blog功能,可以求助/发布题解之类.官方语言是俄语和英语,因此可能有些偏僻的题目的题解是用俄语写的,别慌,扔给Google…
CF上的题,就不放链接了,打开太慢,直接上题面吧: 平面上有n个点, 第 i 个点的坐标为 ($X_i ,Y_i$), 你需要把每个点染成红色或者蓝色, 染成红色的花费为 r , 染成蓝色的花费为 b .有m个限制条件, 有两种类型, 第一种类型为$x = l_i$ 上的红点与蓝点个数差的绝对值不超过 $d_i$, 第二种类型为$y= l_i$ 上的红点与蓝点个数差的绝对值不超过 $d_i$. 题解: 表示这题真的写到失去理想,因为是第一次写带上下限的网络最大流,一开始就把建图和统计代价理解错了…
Monitor 题目描述 Reca company makes monitors, the most popular of their models is AB999 with the screen size a × b centimeters. Because of some production peculiarities a screen parameters are integer numbers. Recently the screen sides ratio x: y became…