CodeForces
文章平均质量分 73
龟大仙
这个作者很懒,什么都没留下…
展开
-
Codeforces Round #304 (Div. 2) B
B. Soldier and Badgestime limit per test 3 seconds memory limit per test 256 megabytesinput standard input output standard outputColonel has n badges. He wants to give one b原创 2015-05-30 20:48:57 · 491 阅读 · 0 评论 -
VK Cup 2015 - Finals F. Clique in the Divisibility Graph
题目链接题意:给你n个数,求一个最长子序列,要求是这个子序列中任意两个数,其中一个一定是另外一个的倍数代码如下:#include #include #include #include const int N = 1E6+10;using namespace std;int dp[N], a;int main(){ int n, maxn; while原创 2015-08-01 16:08:27 · 653 阅读 · 0 评论 -
Codeforces Round #316 (Div. 2) B. Simple Game
题目链接注意n=1的时候特判下就行。代码如下:#include #include #include #include using namespace std;typedef long long ll;const int N = 1e5+10;ll n, m, cnt;int main(){ scanf("%I64d%I64d", &n, &m); if(n ==原创 2015-08-14 13:17:37 · 470 阅读 · 0 评论 -
Codeforces Round #316 (Div. 2) A. Elections
题目链接水题,注意初始化为-1,一开始初始化为0,坑了自己好几把。代码如下:#include#include#include#includeusing namespace std;typedef long long ll;const int N = 1e5+10;int n, m, maxn, tmp;ll a, cnt;int sum[200];int main(原创 2015-08-14 13:14:46 · 551 阅读 · 0 评论 -
Codeforces Round #316 (Div. 2) C. Replacement
题目链接简单模拟,每连续的'..'合并成'.'代码如下:#include #include #include #include using namespace std;typedef long long ll;const ll N = 3e5+10;ll n, m, x, cnt;char a[N], c;int main(){ scanf("%I64d%I64原创 2015-08-14 13:35:33 · 606 阅读 · 0 评论 -
Codeforces Round #313 (Div. 2) C
题目链接题意: 有一个六边形,给你6条边的长度(顺时针给出),每条边都是整数,问你它可以被分割成几个单位长度的正三角形 (题目保证给出的数据可以被分割)思路:六边形可以被分割成两种情况:①被分成上下两个等腰梯形②被分成等腰梯形-平行四边形-等腰梯形其实这两种可以统为一种,因为当第二种平行四边形的一对平行边长为0的时间就变成了第一种。给这六原创 2015-07-23 01:27:39 · 871 阅读 · 0 评论 -
Codeforces Round #316 (Div. 2) D Tree Requests
题目链接题意:给定n个点的树,m个询问1是root,下面给出2——n每个点的父节点,每个点有一个字母下面n个小写字母给出每个点的字母。下面m行给出询问:询问形如 (u, deep) 问u点的子树中,距离根的深度为deep的所有点的字母能否在任意排列后组成回文串,能输出Yes.不能输出No根到根的deep = 1,以此类推。思路:原创 2015-08-16 10:58:51 · 843 阅读 · 0 评论 -
CodeForces 318D Ants
题目链接题意:有n只蚂蚁和m次询问n只蚂蚁初始全部位于起点(0,0)处,每4只蚂蚁在同一格就会以该格为中心向上下左右四个方向爬一格一只向上,一只向下,一只向左,一只向右如果每个格子内的蚂蚁数量 问你当所有的蚂蚁都停止运动后,给你任意的(x, y),输出该格子内的蚂蚁数量思路:模拟+暴力因为询问x,y会有负的,所以不妨设起始坐标为(N,N),因为起始位置的蚂蚁原创 2015-08-17 10:56:01 · 918 阅读 · 0 评论 -
Codeforces Round #323 (Div. 2) C.GCD Table
题目链接题意:用n个数,组成一个n*n的gcd矩阵矩阵元素由这n个数和它们两两之间的最大公约数构成g(i,j) = gcd(a[i], a[j])现给你这个gcd矩阵的所有元素,求这n个数思路:gcd矩阵中最大的那个数一定是所求数之一,因为最大的那个数不可能是另外两个数的最大公约数(最大的那数有多个除外,但是这种情况不影响最终结果)因此,每次只需将剩下的最大的数原创 2015-10-05 14:31:30 · 499 阅读 · 0 评论 -
Codeforces Round #331 (Div. 2) C. Wilbur and Points
题目链接题意:输入n,然后给出n组 (x, y);给出n 个w[i];要求:将n组(x, y)排序,要求x[i] 并且w[i] = y[i] - x[i]若存在,输出YES以及排序结果否则,输出NO思路:首先判断是否存在一个最佳的序列b[]使得:b[i] = y[i] - x[i] = w[j]再判断序列b[]是否为关于二维点集的一个美观序列。代原创 2015-11-18 23:23:06 · 480 阅读 · 0 评论 -
Codeforces Educational Codeforces Round 2 A. Extract Numbers
题目链接题意:给你一串字符串 s;‘,’ 和';'作为分隔符,其他被视作word,word可以为空;将这些words分离出来,整数(不包括前导0和浮点数)保存到 string a, 其余保存到 string b;输出 string a, string b,若没有内容,输出'-'思路:将所有‘,’和';'换成空格,用一个string t从前往后读入遇到空格①t.原创 2015-11-29 20:52:40 · 461 阅读 · 0 评论 -
Codeforces Educational Codeforces Round 2 B. Queries about less or equal elements
题目链接题意:a[n] 和 b[m],对于每个b[i], 求a[n]中有几个元素 思路:看到用upper_bound就不会啦~代码如下:#include#include#includeusing namespace std;const int N = 2E5 + 10;int n, m;int a[N], b[N];int main(){ while原创 2015-11-29 21:02:24 · 438 阅读 · 0 评论 -
Educational Codeforces Round 2 D. Area of Two Circles' Intersection
题目链接题意:求两圆相交面积一开始用printf一直输出乱七八糟的东西,然后在结果前面加了(double)就对了但是弄不清楚这些的用cout就好了还有就是求相交面积的方法,最好是分别求两个圆的S扇 - S△,再相加如果三角形是用sin(angle1) * r1 *d这种方式来算的话就会出现精度问题,之前一直WA在test33,cry~~~~(>_代码如下:#includ原创 2015-12-01 20:51:53 · 538 阅读 · 0 评论 -
codeforces 558D Guess Your Way Out! II
题目链接题意:给出n和q表示有一棵深度为n的完全二叉树叶子节点中有恰好一个点是出口 主角从根往下走,但不知道出口在哪里,但主角会获得q个提示q个提示 格式: deep [l, r] ok意思为 深度为deep 时, 出口 ok为1时:可能在 / ok为0时:一定不在 [l,r] 区间 目标:若根据这q个提原创 2015-07-19 17:15:41 · 652 阅读 · 0 评论 -
Codeforces 551B: Zguki stringZ
题意:给你3个字符串a,b,c(均由小写英文字母构成),要求移动字符串a里面字母的位置,使得a字符串里b,c出现的总次数最多,并且重叠部分不算在内。思路:先枚举其中一个字串(b或c)在a中出现的次数,然后计算对应情况下,另一字串出现的次数,保留最大的那个总次数和即可。代码如下:#include#include#include#includeusing namespace std原创 2015-07-16 14:54:20 · 1087 阅读 · 0 评论 -
Codeforces Round #304 (Div. 2) C Soldier and Cards
C. Soldier and Cardstime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputTwo bored soldiers are playing card wa原创 2015-05-30 20:53:12 · 473 阅读 · 0 评论 -
Codeforces Round #304 (Div. 2) D Soldier and Number Game
D. Soldier and Number Gametime limit per test 3 secondsmemory limit per test 256 megabytesinput standard inputoutput standard outputTwo soldiers are playing a g原创 2015-05-30 20:59:32 · 775 阅读 · 0 评论 -
Codeforces Round #306 (Div. 2) B(dfs)
B. Preparing Olympiadtime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou have n problems. You have estimat原创 2015-06-05 21:22:25 · 629 阅读 · 0 评论 -
Codeforces Round #306 (Div. 2) A
A. Two Substringstime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou are given string s. Your task is to d原创 2015-06-05 21:16:58 · 620 阅读 · 0 评论 -
Codeforces Round #301 (Div. 2) D(概率dp)
D. Bad Luck Islandtime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputThe Bad Luck Island is inhabited by thre原创 2015-06-06 13:48:08 · 682 阅读 · 0 评论 -
Codeforces Round #229 (Div. 2) A. Inna and Alarm Clock
题目链接:http://codeforces.com/contest/390/problem/A题意:设置n个闹钟,给你每个闹钟的位置,选择竖列消除或者横行消除(只能用一种),问你关闭所有闹钟最小的操作数;思路:横着扫一遍,竖着扫一遍,求较小值即可。代码如下:#include#include#include#includeusing namespace std;const原创 2015-07-06 21:47:43 · 556 阅读 · 0 评论 -
Codeforces Round #229 (Div. 2)B. Inna, Dima and Song
题目链接:http://codeforces.com/contest/390/problem/B题意:有 n 个乐章,每个乐章A和B所能演奏的最大音量a[i], 若xi + yi = b[i], 那么C的 joy值就会增加 xi*yi, 否则,就-1, 问你最大joy值是多少;思路:因为A和B最大都能达到a[i], 那么如果2*a[i] > b[i], 那么A和B就一定能演奏出b[i],原创 2015-07-06 21:53:15 · 545 阅读 · 0 评论 -
Codeforces Round #297 (Div. 2)E. Anya and Cubes
题目链接:http://codeforces.com/problemset/problem/525/E题意:给定n个数,k个感叹号,常数S下面给出这n个数。目标:任意给其中一些数变成阶乘,至多变k个。再任意取一些数,使得这些数和恰好为S问有多少方法。思路:三进制状压,0代表不取,1代表取阶乘,2代表直接取;中途查找,节原创 2015-07-06 22:12:48 · 565 阅读 · 0 评论 -
CodeForces 525D D. Arthur and Walls(BFS)
题目链接:http://codeforces.com/problemset/problem/525/D题意:n*m的格子,‘*’代表墙壁,‘.’代表房间,要求房间都必须是矩形,输出改动后的 n*m;思路:看了官方题解,思路蛮巧妙的。因为要求一定是矩形,所有在每个2*2的格子里,若有3个‘.’和1个‘*’,那么就将‘*’改成‘.’,这样就能确保房间一定是矩形了。代码如下:#inclu原创 2015-07-06 22:20:35 · 669 阅读 · 0 评论 -
Codeforces Round #229 (Div. 2)C. Inna and Candy Boxes
题目链接:http://codeforces.com/contest/390/problem/C题意:题目大意:输入n,k,w,然后给出n个礼物盒的情况,‘1’表示盒子内有糖果,‘0’表示没有,然后给出w次询问,每次询问将[l,r]区间变成标准情况需要几步,标准情况即l-1+k,l-1+2k....的盒子有糖果,其他在该区间上的盒子没有糖果。思路:一开始想l-1+k,l-1+2k....这原创 2015-07-06 22:00:25 · 647 阅读 · 0 评论 -
CodeForces 390E Inna and Large Sweet Matrix(树状数组改段求段)
树状数组只能实现线段树区间修改和区间查询的功能,可以代替不需要lazy tag的线段树,且代码量和常数较小首先定义一个数组 int c[N]; 并清空 memset(c, 0, sizeof c);1、单点修改 : c[x] += y; 对应的函数是 change(x, y);2、求前缀和 : 对应的函数是 int sum(x)两种操作的复杂度都是O(lo原创 2015-07-16 15:06:14 · 579 阅读 · 0 评论 -
Codeforces 558C Amr and Chemistry
题意:n个数,每次可以选一个数 让其 *=2 或者 /=2问至少操作多少次使得所有数相等。思路:对于每个数,计算出这个数可以变成哪些数,以及变成那个数的最小步数,用两个数组保存cnt[i] 表示序列中有cnt个数可以变成istep[i] 表示能变成i的 那些数 变成i的花费和是多少。其中,遇到奇数的时候要特殊处理一下:比如,7原创 2015-07-16 14:38:49 · 761 阅读 · 0 评论 -
Codeforces Round #341 (Div. 2) B. Wet Shark and Bishops
题目链接题意:如果两条鲨鱼在同一对角线上就会攻击对方(即使它们之间还隔着其他鲨鱼)问共有几对?思路:对角线就两种情况斜率为1:(x1 + y1) == (x2 + y2)斜率为-1: (x1 - y1) == (x2 - y2) (数组下标不能为负,所以+1000)代码如下:#include typedef long long ll; int n, x, y;原创 2016-02-01 16:23:58 · 474 阅读 · 0 评论