OJ —— CodeForces
文章平均质量分 74
smwqd_yehua_cx
梦想,可以天花乱坠,理想,是我们一步一个脚印踩出来的坎坷道路。
展开
-
codeforces 589J(BFS)
题目链接:http://codeforces.com/problemset/problem/589/J题意:机器人清理房间,碰到家具(阻碍物)就不能清理,给出机器人的初位置及朝向,如果当前朝向不能再继续往前走了,机器人就会向右转,问一共能清理多少地方。分析一开始无论如何都不懂第二组样例为什么是6而不是7,后来想明白了,当他走到(1,1)位置时方向朝上,此时它已经清扫了6块区域,这是他不原创 2016-08-13 21:14:00 · 425 阅读 · 0 评论 -
Chewbaсca and Number CF 518A(水题)
题目链接:点击打开链接题意分析:给定两行长度相同的字符串s t ,求是否有以长度相同的字符串m使得字典序 s 将两行字符串看做两个数字s,t 即可,问题就转换为是否有一整数m满足s #include#include#include#include#include#include#include#include#include#i原创 2016-07-10 00:09:40 · 307 阅读 · 0 评论 -
Opponents CF688A(水题)
题目链接:http://codeforces.com/problemset/problem/688/A题意分析:一个人有n个对手,某天一旦有一个对手没出席他将打败所有对手,否则他将被打败。求在d天他有多少天是连续打败所有对手的。 题目比较简单,直接上代码。#include#include#include#include#include#in原创 2016-07-09 23:54:09 · 278 阅读 · 0 评论 -
The Values You Can Mak CF687C(简单DP)
题目链接:题意分析:给定n个数,用这n个数在和为k的情况下从n个数中找到所有的value,这些value之和也为k. DP题我练的真的太少了,总是写不出状态状态方程,下一步打算好好刷刷紫书第八章的题目。 不能因为不擅长就逃避它们,感谢小伙伴给我讲这道题。定义数组dp[i][j] = 1表示由j 可以组成i原创 2016-07-09 23:39:49 · 283 阅读 · 0 评论 -
Remainders Game CF687B(数论 判断x%k的值)
题目链接:http://codeforces.com/problemset/problem/687/B题意分析:已知 x % ci (1 ≤ ci ≤ n)的值(ci已知,x未知),判断是否能确定x%k的值(k已知)。判断k是否能被所有ci的最小公倍数整除即可。 但要注意不要在求最小公倍数过程中溢出,由于 ci的值很大数量也很多,所以即使用long原创 2016-07-09 23:22:35 · 299 阅读 · 0 评论 -
NP-Hard Problem(二分图染色模板题)
题目链接:http://codeforces.com/problemset/problem/687/A题意分析:题目大意是已知有n个点,m条边,求是否能将所有的点分成两组,其中与每条边相连的两个点位于不同组。 可以理解为将所有点涂成两种不同的颜色,每条边两端的点颜色必须不同,孤立的点不用管,典型的dfs,感谢原创 2016-07-09 23:12:26 · 529 阅读 · 0 评论 -
Little Robber Girl's Zoo(冒泡排序)
题目链接:题意分析:其实就是给定一串数字,输出在将其排成递增数列时哪两个数字需要交换位置,输出结果不唯一,直接用最简单的冒泡排序写就好。错因分析:比赛时最后完全卡在了这道题上,是我把问题想复杂了,一直在根据题意描述的方法写代码,在看到第三组样例时就觉得很奇怪明明2和5, 3和4交换位置后已经得到了想要的序列为啥还要进行交换。当时却没想到答案不唯一也就意味着根本不用按照他说的方法写,原创 2016-07-09 22:48:07 · 794 阅读 · 0 评论 -
Free Ice Cream(水题)
题目链接:http://codeforces.com/problemset/problem/686/A题意分析: 水题,输入n,x,之后n行每行输入一个字符ch 和一个数字in 根据加减符号进行对应的加减运算,如果x 求最终x的值以及不能进行减法运算的in数量。错因: 第一次交错了,这让我很吃惊,怎么看也不觉得写的有问题,回头看了一下数据范围,果断改成long long后过了。原创 2016-07-09 22:39:26 · 448 阅读 · 0 评论 -
Queries Gym - 100741A (用结构体存10个树状数组)
题目链接:https://vjudge.net/contest/181019#problem/A题目描述:给定n和m,对于n个数字,进行下列三种操作:(1) + p r : 将p位置的元素加上r, 输出此时p位置的值;(2) - p r : 将p位置的元素减去r,若p位置的值小于r则不进行减法,输出此时p位置的值;(3) s l r mod:求区间[ l, r ]中值%m == mod的原创 2017-08-23 00:51:31 · 236 阅读 · 0 评论 -
Personal programming language Gym - 100741B(dfs)
题目链接:https://vjudge.net/contest/181019#problem/B题意:定义函数,若 def a = value则a就是value;若def a = valuea def b with a = valueb则b为valueb valuea;若def a = valuea def b with a = valueb def c with b with a =原创 2017-08-23 01:03:57 · 168 阅读 · 0 评论 -
Xor Sum Gym - 100741D (异或超水题)
题目链接:https://vjudge.net/problem/Gym-100741D题意:求n个数中出现次数为奇数次的所有数的异或值。思路:水题,同一个值,异或两次相当于没有进行异或,所以不用求出现次数为奇数还是偶数,直接全部异或就行。代码如下:#include#include#include#include#include#include#include#incl原创 2017-08-23 01:07:48 · 280 阅读 · 0 评论 -
Gym - 100741F(二分匹配 矩阵斜线线与值进行匹配)
题目链接:https://vjudge.net/contest/181019#problem/F题意:给定一个n*n的矩阵,从左下至右上平行于对角线的斜线共2*n-1条(包括对角线),在每条斜线上选取一个出现的值,要求这2*n-1条斜线选取的值互不相同,求是否能选取,若不能,输出NO,若能,输出YES并按1~2*n-1的顺序输出每条斜线上选取的值。思路:从左下至右上为这些斜线编号为1~2*原创 2017-08-23 01:15:15 · 450 阅读 · 0 评论 -
$n$-Way Tie Gym - 100741K(水题 推结论)
题目链接:https://vjudge.net/contest/181019#problem/K题意:n个人两两进行pk,共进行n*(n-1) / 2场,胜方得1分,败方得0分,问是否能确定每场比赛的结果使得所有比赛结束后n个人得分相同。思路:只有奇数个人时才有可能,此时共进行n*(n-1) / 2场比赛,每个人得分均为(n*(n-1) / 2) / n = (n - 1) / 2。代原创 2017-08-23 01:20:32 · 181 阅读 · 0 评论 -
Basketball Gym - 100741L (简单dfs)
题目链接:https://vjudge.net/contest/181019#problem/L题意:A队有n个人,给出每个人对应的值;B队有m个人,给出每个人对应的值。能否从AB队各选出若干人使其值的和相等。思路:将A队选或不选每个人得的所有和计算出来,B队也是,最后看有多少相等的即可。代码如下:#include#include#include#include#inclu原创 2017-08-23 01:31:13 · 237 阅读 · 0 评论 -
Yet Another Median Task Gym - 100741G (nth_element找中位数)
题目链接:https://vjudge.net/contest/181019#problem/G题意:给定一个n*n的矩阵,有q次查询,每次查询给定四个数x1 y1 x2 y2,求矩形区域 x1 思路:若每次对小矩形区域内的所有数进行排序找出中位数,则肯定会超时。STL中有一个函数ntn_element(a, x, a + n),用于使数组a中n个数中第x大的数位于第x个位置,x左边的数都原创 2017-08-23 16:09:44 · 199 阅读 · 0 评论 -
Hard Refactoring Gym - 101190H(模拟区间合并)
题目链接:https://vjudge.net/problem/Gym-101190H题意:简单的区间合并,输出合并后的区间,如果合并后区间为空集输出false,若为(-inf, +inf)则输出true,否则输出合并后的区间范围。思路:模拟即可,队友写的代码。代码如下:#include#include#include#include#include#include#i原创 2017-08-29 19:00:26 · 305 阅读 · 0 评论 -
Abbreviation Gym - 101190A(模拟)
题目链接:https://vjudge.net/problem/Gym-101190A题意:恶心的模拟题,写了两个多小时,最后少写了一行代码就一行!!!!结果一直错,最近真是太浮躁了这样低级的错误都会犯,弄得我一下午心情都很郁闷。题意就是规定一类单词:首字母大写,之后有一个或多个小写字母。如果这类单词之间只由一个空格间隔,则可以用每个单词的大写字母组成这些字母的缩写,输出缩写+空格+(+原来的原创 2017-08-29 18:38:21 · 762 阅读 · 0 评论 -
Foreign Postcards Gym - 101190F(概率DP)
题目链接:https://vjudge.net/problem/Gym-101190F题意:一开始共有n个卡片,C代表摆放正确,W代表摆放错误,每次可以选取前k张卡片,如果这k张卡片中的第一张是W,则将这k张卡片全部翻转后放在桌面上(翻转即C变W,W变C),如果第一张是C则不进行任何操作直接将这k张卡片放在桌面上,然后再在剩下的卡片中重复进行上述操作,直至所有卡片都放在桌面上了。思路:场上原创 2017-08-29 21:40:41 · 436 阅读 · 0 评论 -
CodeForces 518B Tanya and Postcard (题意,水题)
点击打开链接题意分析:题目读得有点晕,看了看网上的题解,其实不难。第一种情况判断两行字符串有多少字母是相同的, 将每个字母相同的个数加起来再输出。第二种情况是求两行字符串有多少字符值相同但大小写不同。 注意再统计完第一种情况后要将一样的字母减去才能够去统计第二种情况。#include#include原创 2016-07-10 00:19:40 · 405 阅读 · 0 评论 -
Watto and Mechanism CF581C(模拟水题)
点击打开链接题意分析: 每k个软件在同一屏幕上,一共有n个软件,设要点开的手机软件当前位置为x,每次需要翻(x / k )页屏幕, 并且点击一下软件才能打开。所以每次打开该软件需要做(x / k + 1)次指令,之后该软件的位置向前移一位(只 要不是第一个软件)一共打开m次,求一共需要做多原创 2016-07-10 00:34:44 · 261 阅读 · 0 评论 -
Game(水题)
题意分析:两个人分别有n1 n2个球,每人每次最多仍k1,k2个球(最少一个)第一个人先扔球,。谁的球先扔完谁就输了。 为了不输,每个人每次肯定都尽量扔最少的球多保留一些球,也就是每人每次都一定只扔一个,所以k1,k2根本 用不到。#include#include#include#include#原创 2016-07-10 00:47:30 · 214 阅读 · 0 评论 -
codeforces 589I(水题)
题目链接:http://codeforces.com/problemset/problem/589/I#include#include#include#include#include#include#include#includeusing namespace std;typedef long long ll;const int maxn = 30000 + 5;cons原创 2016-08-13 20:52:15 · 231 阅读 · 0 评论 -
codeforces 589F(二分)
题意:给出n个菜可以被品尝的时间段,求一个品尝每道菜的最大时间段t,即每道菜都可以品尝t时间并且t为所有可能情况中的最大值。分析:典型的二分问题,将品尝时间进行二分。弄懂题意后错了一次,原因是品尝时间我是从0到所给时间的最大值进行二分的。错在了1 0 100这组样例上,应该是100接我按我的方法是99,这显然是错的。改成从0到maxn进行二分后就对了,不会错过边界值。#include#i原创 2016-08-13 20:48:20 · 315 阅读 · 0 评论 -
codeforces 589d(相遇问题)
题目链接:http://codeforces.com/problemset/problem/589/D题意:给出n个人行走的开始时间和结束时间,求每个人分别能跟多少人相遇打招呼。分析:两个人行走无非四种情况,同向两种:-> -> 和 分情况推他们相遇的条件即可,我是列方程求解的。#include#include#include#include#include#incl原创 2016-08-13 20:41:49 · 229 阅读 · 0 评论 -
codeforces 589B(两次排序 + 暴力 ) (重点在于思路)
题意:提议有点说不清楚,大致意思是从上到下叠放了很多巨型蛋糕,求怎么切长度和宽度才能使切后的蛋糕体积最大。每块蛋糕的长宽可以颠换。思路:既然每个举行的长宽可以颠换,那就使宽>长,这些矩形肯定是长边与长边对齐,短边与短边在一起时切才会保留最多的蛋糕,使切后蛋糕体积最大。第一次根据宽排序,排好序后遍历没一个宽w,将宽度大于等于w的宽所对应的高再次进行排序,对于每一个高h求出所有蛋糕在宽为w高为h时原创 2016-08-13 20:11:40 · 440 阅读 · 0 评论 -
CodeForces 589A(处理字符串)
题目链接:http://codeforces.com/problemset/problem/589/A题意: 给定k个邮箱为这k个电子邮箱地址分类,地址格式均为login@domain。输出总类别数目,每个类别中地址的数目以及该类别中所有的地址。对于普通邮箱的地址来说,不区分大小写,只要字母相同就是同一类别,对于domain为@bmail.com的邮箱地址来说,也不区分大小写,忽略logi原创 2016-08-13 18:04:05 · 473 阅读 · 0 评论 -
codeforces 427B(遍历枚举)
http://codeforces.com/problemset/problem/427/B题意:n个囚犯站成一排,每个囚犯都有一个危害值代表其危害程度,现要连续运输c个囚犯到其他监狱,要求这c个囚犯的危害值均小于t,求一共有多少种选法。分析:遍历一遍即可,对于每个危害值均小于t的连续区间判断有几种选法即可,注意判断特殊情况。#include#include#include原创 2016-07-24 16:37:19 · 322 阅读 · 0 评论 -
codeforces 427A(水题)
点击打开题目链接#include#include#include#include#include#includeusing namespace std;const int maxn = 1e5 + 10;const int MOD = 1e9 + 7;const int INF = 0x3fffffff;typedef long long ll;int n;in原创 2016-07-24 16:30:33 · 251 阅读 · 0 评论 -
CodeForces 427C Checkposts (强连通分量Tarjan模板题)
tarjan模板题原创 2016-07-24 15:15:04 · 680 阅读 · 0 评论 -
CodeForces 346A Alice and Bob(数论)
题目链接:点击打开链接题意:A B一起玩一个游戏,给定一串各不相同的数字,从A开始二人依次从该序列中选出两个数满足二者差的绝对值不在该数列中,然后将二者差的绝对值放入该序列中,最后无法再选出两个这样数字的人输。求在每次都拿出可行的两个数的前提下,谁最终赢得比赛。分析:当时读完题后一脸懵逼,完全不知道怎么下手,甚至还在纸上自己凑了组样例不停地选出俩数再将二者的放回序列中模拟比原创 2016-07-20 01:11:40 · 357 阅读 · 0 评论 -
Economy Game(暴力)
点击打开链接题意分析:给定一个数n,判断是否有整数a,b,c满足a × 1 234 567 + b × 123 456 + c × 1 234 = n。#include#include#include#include#include#include#include#include#include#include using namespace std;const原创 2016-07-10 09:53:06 · 281 阅读 · 0 评论 -
Alyona and Mex(思路)
点击打开链接题意分析:读懂题意后其实是很水很水的一道题。给定一串数字,每个数字都可以任意变小,再经过任意次变化(也可以不做改变)求在这串数字中缺少的最小的数字的最大值。错因:题意理解错了#include#include#include#include#include#include#include#include#include#include #inclu原创 2016-07-10 09:47:07 · 394 阅读 · 0 评论 -
CodeForces 347B Fixed Points(水题)
题目链接:点击打开链接题意:给定n个各不相同的数,若i = a[i]即第i个位置a[i]的数值为i则称该点为fixed point,对于给定的n个数,最多交换两个数的位置,求该数列可能有的最多的fixed points的值。分析:首先再输入时就确定好初始数列 fixed point的数目num,将不是fixed point的点的值与键用map保存起来遍历所有不是fixed poin原创 2016-07-20 00:58:55 · 252 阅读 · 0 评论 -
Alyona and Numbers(数学水题)
点击打开链接题意分析:给定两个数n,m, 1 题意很简单,直接上代码吧。#include#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;原创 2016-07-10 09:41:54 · 266 阅读 · 0 评论 -
Xenia and Weights codeforces 339c(记忆化搜索dfs)
题意分析:给定长度为10的01序列,第i个数字为0代表没有重量为i的砝码,反之则代表有。利用已有砝码轮流在天平两端共放置m个砝码,要求每次满足放砝码一端重量比 不放砝码一端重,dfs看每个砝码是否符合要求即可。注意连续两次放置的砝码重量不能相同。#include#include#include#include#include#includ原创 2016-07-10 09:21:52 · 372 阅读 · 0 评论 -
Cupboard and Balloons cf199 C(数学公式计算)
题意分析:一个由长方体和半球组成的柜子,深为r,横截面矩形高为h,宽为2*r,半圆的半径为r,将直径为r的球放进柜子里,求最多能放置多少个。 首先在长方体内放球,完全在长方体内的球可以放(h/r)*2个,矩形剩余高度为h',然后判断剩下区域能放一个球还是两个球。感觉自己写的比较麻烦, 判断临界条件即刚好能放置两个球原创 2016-07-10 08:39:40 · 341 阅读 · 0 评论 -
Xenia and Spies(模拟)
点击打开链接题意分析:n个人,编号1~你,note一开始在1号手中,要将note从s号传递给f号,其中mi时间内,[li , ri]区间内的人是不能接收 和传递纸条的。注意判断传递方向是向左还是向右。 #include#include#include#include#include#include#include#include#原创 2016-07-10 08:23:06 · 288 阅读 · 0 评论 -
Xenia and Divisors CF342A(数学规律)
点击打开链接题意分析:给定n个数(n为3的倍数)均在1~6之间,是否能将其三个一组分成n/3组,且满足a b c; a dividesb, b dividesc. 若能将其输出,不能则输出-1。1~6之间能满足连续整除关系的只有1 2 4;1 2 6; 1 3 6;只需要统计各个数字出现的数 量原创 2016-07-10 07:57:50 · 221 阅读 · 0 评论 -
Gym 100962G Green Day (K个生成树构造1个完全图 -- 找规律)
题意:这道题的题意实际上就是用K个有N个节点的生成树构成一个完全图。思路:N个点的完全图共有N*(N - 1) / 2条边,N个点的生成树共有(N - 1)条边,共K个这样的生成树,故一共需要K * (N - 1)条边,要用这些边构成一个完全图,故需满足K * (N - 1) == N*(N - 1) / 2,解得N = 2 * K,其中不难发现每个节点只能做一次开始或结束的点。场上也想到这里原创 2017-11-13 17:09:18 · 466 阅读 · 0 评论