
codeforces
keyboarder_zsq
你所认为的极限,其实是别人的起点。
展开
-
Codeforces Round #354 (Div. 2)
想来想去,还是暴露自己真是菜如狗吧。 A,B都是模拟,Awa是题目看错。 Bwa是根本不想去想想,然后随便写,当然是wa。A题: 题意:给你n个元素,允许交换任意两个元素的位置,但是只有一次,然后让你求1和N的distance。 思路 直接暴力一发直接切啊….(我是理解成了给的是位置…为什么不给位置呢,这样就难那么一点点啊…呸,一样水)code:#include<cstdio>#incl原创 2016-05-26 22:22:45 · 406 阅读 · 0 评论 -
Codeforces Round #355 (Div. 2) B. Vanya and Food Processor
菜菜菜!!!这么撒比的模拟题,听厂长在一边比比比了半天,自己想一想,然后纯模拟一下,中间过程检测一下,妥妥的就可以过。题意:有N个东西要去搞碎,每个东西有一个高度,然后有一台机器支持里面可以达到的最大高度,东西可以连续放进去,只要不超过h就行了,每秒可以搞k高度,然后让你算时间直接code:#include<cstdio>#include<vector>#include<string.h>#i原创 2016-06-02 14:08:35 · 442 阅读 · 0 评论 -
codeforces 611C
题意: 给你一个矩阵,矩阵里有” . “和” # “,” . “表示空的,” # “表示禁止的。 多米诺骨牌将占据正好有两个相邻的单元格,或者位于一排或一列。两个相邻的单元格必须是空的,并且必须是一个网格内。对于每个询问,求给定矩形里面能组成不同多米诺骨牌的方式。 思路: 对于一段连续空的,我们能算出来,他的方法是n-1个。 =>求你给定矩阵在行和列上的连续空的有多长。 开两个数组直接记原创 2016-07-22 21:06:12 · 410 阅读 · 0 评论 -
Codeforces Round #357 (Div. 2)C. Heap Operations
用单调队列(从小到大),模拟一下就好了,主要是getMin比较麻烦,算了,都是模拟。。。。也没什么好说的。。#include<cstdio>#include<map>#include<queue>#include<iostream>#include<stdlib.h>#include<string.h>#include<algorithm>using namespace std;pri原创 2016-06-15 10:09:56 · 497 阅读 · 0 评论 -
Codeforces Round #364 (Div. 2)【A,C】
啊啊啊啊啊啊啊啊啊,目睹A->CⅠA全过,最终fstwaA,C;23333333 A题: 题意: 就是分成相等的m堆,每堆有两个位置上的值相加。 思路: fst在sum可能不是偶数,先*2/n;。。。。。。。。。。。。。。哭死。。 code:#include <bits/stdc++.h>using namespace std;typedef long long LL;typede原创 2016-07-24 00:25:44 · 329 阅读 · 0 评论 -
Codeforces Round #331 (Div. 2)【未完待续】
GGGGGGGGGGGGGGGGGGG原创 2016-07-11 21:43:58 · 410 阅读 · 0 评论 -
【水水水】678A - Johny Likes Numbers
#include<stdio.h>#include<iostream>#include<cstdio>#include<queue>#include <vector>#include<stack>#include<cmath>#include<cstring>#include<cstdlib>#include<climits>#include<algorithm>using n原创 2016-07-02 11:22:54 · 485 阅读 · 0 评论 -
Codeforces Round #324 (Div. 2)C. Marina and Vasya
A的万般无奈。。。后来跑了大牛的这份代码发现, 题意是求一个序列与给定的两个序列有t个不同。 只要保证。。。对应位置就行了。。 所以处理起来非常方便。。。。。。。。。。。。。。 可是没有感觉是对应位置啊瞎几把想了一堆。后来真的是。 再后来? 我觉得非常好的就是又多了那么点见识。。#include <bits/stdc++.h>using namespace std;typedef l原创 2016-07-13 22:26:09 · 435 阅读 · 0 评论 -
664A - Complicated GCD
题意真是七零八落,乱七八糟。盲目瞎写,水过就好?#include <cstdio>#include <cstring>#include <algorithm>using namespace std;char s1[1005],s2[1005];int main(){ while(~scanf("%s%s", s1, s2)) { if(strcmp(s1, s2原创 2016-07-02 22:17:06 · 857 阅读 · 0 评论 -
Codeforces 快速竞技#4
快速竞技#4A–Duff and Meat588A= =这题不知道怎么写题解了。。 直接上code……….#include<bits/stdc++.h>#include<string.h>using namespace std;typedef long long LL;typedef unsigned long long ULL;const double eps=1e-5;const原创 2016-07-25 22:23:56 · 455 阅读 · 0 评论 -
Codeforces 378C
DFS连通块,思路就是搜到底,然后一个一个回溯(填上X)上来#include <iostream>#include <stdio.h>#include <string.h>#include <stack>#include <queue>#include <map>#include <set>#include <vector>#include <math.h>#include <al原创 2016-07-04 09:17:44 · 620 阅读 · 0 评论 -
Codeforces 2 A. Winner
哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈。。。。。。。 先让我笑完。。。。。。。。。。。。。。。。 就是一道撒比题啊,一开始是题目看错= =、是,但是后面还是自己不仔细错的。。。。。不存在题目坑这种情况。。。。。。。不想写题意了,我想吐啊这题。。。没用map。。 就是n个操作好,然后求出一个最大值,然后满足这些最大值里面找一个最先的。。。。。。真的是撒比模拟,,,wa了那么久A掉也不怎么开心,自原创 2016-07-04 18:32:00 · 661 阅读 · 0 评论 -
Codeforces Round #355 (Div. 2)C - Vanya and Label
啊啊啊啊啊啊啊,真的是智障了。。。“>>”/“&”#include<cstdio>int main(){ int ans=1; for(int i=0;i<=1;i++) printf("%d\n",ans&i); ans=0; for(int i=0;i<=1;i++) printf("%d\n",ans&i); ans=原创 2016-07-05 11:31:28 · 404 阅读 · 0 评论 -
Codeforces687A【未完继续....】
http://codeforces.com/problemset/problem/687/A原创 2016-07-06 18:59:38 · 551 阅读 · 0 评论 -
CodeForces 615C
题意: 给定两个字符串s1,s2利用s1去构造s2,s1有无限个,可以翻转,你最少要用几个s1才能构造s2。输出每一次使用的s1的有效区间。 伪思路: 据说是暴力就能过的题目。然而自己就是暴力差,模拟差,DP差。。。。mdzz好像都差,不会怎么暴力。 其他思路都想过一点,然后剩下两个比较可能的; ①:我暴力一发s2,以s2的字符为开始然后暴力过去,让s1去正的反的匹配,所以怎么记录?但是这原创 2016-07-19 01:06:46 · 518 阅读 · 0 评论 -
【Codeforces自我陶醉水题篇~】(差17C code....)
Codeforces17A题意: 有一种素数会等于两个相邻的素数相加 如果在2~n的范围内有至少k个这样的素数,就YES,否则就NO; 思路: 采用直接打表,后面判断一下就好了。那个预处理素数表还是满赞的~~ 不多说,上code…………….#include<bits/stdc++.h>#include<string.h>using namespace std;typedef long原创 2016-07-28 00:31:59 · 2786 阅读 · 0 评论 -
Codeforces Round #363 (Div. 2) C. Vacations
题意: 小V的一天有三种状态,去sport,去context,去relax,然后一天呢会有四种情况,0没有gym也没有context,1没有gym有context,2有gym没有context,3有gym有context。 还有一个约束条件就是不能持续的去sport两天,也不能连续持续进行context。 求一个最小的休息时间原创 2016-07-19 23:22:17 · 589 阅读 · 0 评论 -
Codeforces gym 101061 G【递推公式+逆元】
题意: 就是n复制m次,然后数mod1e9+7; 思路: 案例:31*10^6 + 31*10^4 + 31*10^2 + 31*10^0 所以就是一个等比数列,然后整理一下就是n*(10^(m*len)-1)/(10^len-1),有个除法就是求下逆元,然后飞马小定理,那么答案就是…看代码… 贴一发挫code…#include <bits/stdc++.h>#include<algor原创 2016-08-16 00:11:44 · 732 阅读 · 0 评论 -
Codeforces277A 【dfs联通块】
题意: 给出n个人会的语言类型,然后问这n个人里面还需要几个人学习一下语言就可以n个直接互通了。a会1,2,b会2,3,c会4,那么只要C学一下1或者2,或者3就好了。。。大致就是这个意思。 思路: 一开始还想…强连通缩点什么的。。然后并不是强连通,只是一个联通块。。。 直接暴搜一个个联通块,答案就是num-1,然后特判每个人都没学一门语言的话。 贴一发挫code…#include <bi原创 2016-08-16 00:18:58 · 686 阅读 · 0 评论 -
CodeForces 622C
GGGGGGGGGGGGGGGGGG原创 2016-07-11 21:45:03 · 450 阅读 · 0 评论 -
codeforces 632C
题意: 给n个字符串,然后将这些字符串组合,搞成一个最小字典序的字符串,然后输出就好了。 思路: 记得以前神队友给我说过你怎么将n个字符串按字典序的比较从小到大输出。那么我也是这样玩一下,然后组合输出?还行啊!!!woc,但是有点怪。。其实可以通过比较字符串的不同组合的方式,然后排序。 现在string还不熟练的童鞋,要好好玩了啊!! code…#include <bits/stdc++.原创 2016-07-21 22:35:59 · 338 阅读 · 0 评论 -
Codeforces703B Mishka and trip
题意: 就是有n个点,本来相邻点之间就有一条边,1和n之间也有一条,然后给你几个特殊点,说这些特殊点和其他所有点都连起来了,然后算一个所有边的权值和,每条边的权值等于两个点的c相乘。 思路: 水题啊…感觉有好多方法吧。弱的思路:你把所有点都相连的情况,把所有边权值和算出来,然后没有被标记的点拿出来,把他们两两相连的边的权值也减掉,但是你会发现就算没有标记但是相邻还是会有边,所以加上这些就好了。原创 2016-08-05 08:36:12 · 700 阅读 · 0 评论 -
Codeforces510B【dfs】
判断一个图里是否有一个自环; 50*50 标记起点,然后暴搜?#include <bits/stdc++.h>#include<algorithm>using namespace std;const int N=55;int n,m;int dx[4]={1,-1,0,0};int dy[4]={0,0,-1,1};char ma[N][N];bool vis[N][N];boo原创 2016-08-16 23:53:15 · 502 阅读 · 0 评论 -
Codeforces686C【dfs】
题意: n,m<=1e9 设定一天n小时,一小时m分钟, 显示时间的是一个7进制的表, 问你在一天里出现多少个时刻,表中的数字要都不相同。 思路: 因为7进制,显示的数字肯定是0-7之间的。 然后就是搜一下,注意显示的方式,所以m分钟有几位就是显示几位#include <bits/stdc++.h>#include<algorithm>using namespace std;typ原创 2016-08-16 23:51:14 · 427 阅读 · 0 评论 -
Codeforces 550B 【暴力】
题意: 有n个数字, 要求在这n个数中选出至少两个数字, 使得它们的和在L,R之间,并且最大的与最小的差值要不小于x 思路: 撒比了啊。。。 根据状态的话一共也就是2^15…直接暴力,二进制的小魅力还是没能领会; code……#include <bits/stdc++.h>#include<algorithm>using namespace std;typedef long lon原创 2016-08-17 00:41:20 · 493 阅读 · 0 评论 -
Codeforces34C【尺取】
题意: 输入一系列的数,连续数字则输出连续区间 看第一个案例就很明显 思路: 输入字符串输入,预处理一下。 写了个挫尺取… 贴一发挫code…….#include <bits/stdc++.h>#include<algorithm>using namespace std;typedef long long LL;int a[102];int b[5];char s[500];原创 2016-08-17 00:37:31 · 626 阅读 · 0 评论 -
Codeforces702C【二分】
题意: 给你几个城市,蜂窝塔量; 给出城市和塔的坐标可以重叠,非递减的方式给出; 输出最小的r,以至于所有的城市能被覆盖到; 思路: 目的就是要使每个城市覆盖到,那我对每个城市找离最近塔的距离,然后在这些距离里面找一个最大的就好了。 怎么对每个城市找离其最近的塔呢? 可以直接lower_bound,找到位置,然后距离比小就好了,但是每次答案要取大;#include<cstdio>#i原创 2016-08-18 23:43:50 · 453 阅读 · 0 评论 -
Codeforces627A【数学·有意思】
题意: 求有多少对( a , b ),a+b=s,a^b=x.(正整数) 思路: a+b=a^b+a&b*2; 很容易证明,表示一下二进制,马上可以想通 异或相当于无进位的加法。 s=a+b; x=a^b; s-x=a&b/2; 那么就是考虑a&b; s-x<0或者(s-x)%2!=0或者x&(s-x)!=0那就是没有答案对吧。 如果x的二进制位上有xi=0,我们只能是ai=b原创 2016-08-08 00:51:49 · 676 阅读 · 3 评论 -
Codeforces711C 【DP】
题意: 有n个点,m种颜色,你要给n个点上没有颜色的点染色。每个点i对应染的颜色j有一个颜料消耗,p[i][j]是点i染成j颜色的花费,你必须保证有k段颜色的点,输出最少花费多少颜料。 还有一个就是本身有颜色不能变。。。 思路: dp[i][j][k] := 前i个树,第i个树染j颜色,构成k段的最小花费 #include<cstdio>#include <map>#include<io原创 2016-08-30 00:26:35 · 881 阅读 · 0 评论 -
Codeforces 711B 【模拟】
比赛的时候绝壁打麻烦了。。。 考虑的好麻烦。。。wa7。。。还要判断出来的是不是positive的。。。 好吧。。认了。。#include<cstdio>#include <map>#include<iostream>#include<string.h>#include<algorithm>using namespace std;typedef __int64 LL;const int原创 2016-08-30 00:34:30 · 514 阅读 · 0 评论 -
CodeForces 13A【暴力】
题意: 给你的一个十进制数n,计算对于2~n-1进制下的每个位相加和与数n-2的比值。 思路: n是1000,所以直接暴力一发?#include<cstdio>#include<iostream>#include<string.h>#include<algorithm>using namespace std;typedef long long LL;const int N=1e5+10原创 2016-08-19 22:34:25 · 2937 阅读 · 0 评论 -
CodeForces 13C【DP】
题意: 给你n个数,每次只能让一个数+1,或者-1,目标是最终使这个序列构成一个非递减的序列; n是5e3,复杂度n^2内。值是1e9; 思路: 可以发现子结构是保证一个区间的非递减, 如果只是dp[a][b]代表在[a,b]上需要的最小步数,这样很难处理a,b位置的值,且不构成递推性; 所以可以在递推中(前i个)去dp以 j 值为末端的区间需要的最小步数。 dp[i][j]=min(原创 2016-08-19 22:36:42 · 499 阅读 · 0 评论 -
Codeforces645B【树状数组求逆序数】
题意: 给你1-n的序列,然后有k次机会的操作,每一次你可以选择两个数交换。 求一个最大的逆序数。思路: 感觉就是最后一个和第一个交换,然后往中间逼近,到最终的序列,用树状数组求一下逆序数。#include <iostream>#include <stdio.h>#include <string.h>#include <algorithm>using namespace std;#d原创 2016-08-09 22:51:22 · 430 阅读 · 0 评论 -
Codeforces404C【构造】
题意:一个图有n个点,每一个点最多连接k条直线,给出多有起点到终点的距离,没有环,不能输出重边,输出所有有连接的单向边思路: 就是简单想…不知道怎么说了,画个图,我们建边,那么距离是 i 就是连距离 i - 1的,我是记录了一下 i -1 的位置,防止小T。。。随便搞吧。。#include <iostream>#include <cstdio>#include <string.h>#incl原创 2016-08-10 11:58:09 · 652 阅读 · 0 评论 -
Codeforces702A - Maximum Increase【尺取】
题意: 求一个连续的最长子序列长度; 思路: 没看仔细还wa1了…以为LIS… 然后写了尺取吧。。。= =太不仔细了。不过收获是LIS特么写挫了然后看了学长的blog<-点我…题目的挫code…#include <iostream>#include <cstdio>#include <string.h>#include <algorithm>using namespace std;原创 2016-08-10 22:25:14 · 442 阅读 · 0 评论 -
Codeforces482B【线段树构造】
题意: 有M个限制,每个限制有l,r,q,表示从a[l]~a[r]取且后的数一定为q,问是否有满足的数列。 思路: 看到大牛说是线段树,线段树对于区间操作,印象中乘啊,+啊,-啊都不错,但是并没有就是对于这个位运算就不懂了; 这题的题意就是构造,大致思路是 每条限制是对于每个区间处理就是或上q(可以保证相应的二进制一定是1),然后用线段树处理完m个限制,最后还要询问一下m个限制是否满足;原创 2016-09-13 20:05:34 · 748 阅读 · 0 评论 -
Codeforces712B【= =】
题意: 题意: 最少需要几步改变能够使得按照原序列的走法从起源走到起源; 思路: 长度奇数肯定不行 偶数的情况下。。 其实题意转变就是有4个数a,b,c,d,在最小的改变下,使a==b,c==d; 那么就是很明显的两两相差除以2就是答案;#include <bits/stdc++.h>using namespace std;typedef __int64 LL;const int原创 2016-09-14 08:52:37 · 349 阅读 · 0 评论 -
Codeforces712C【贪心】
看了这篇。。 http://blog.youkuaiyun.com/queuelovestack/article/details/52503162 直接就是从小到大,那么每次按最大的递增顺序上去,就是了。 因为每次只能取那么大,符合三角形三边关系,也不会避免每次拿小了。#include <bits/stdc++.h>using namespace std;typedef __int64 LL;con原创 2016-09-14 09:24:31 · 419 阅读 · 0 评论 -
Codeforces714C【映射】
题意: T次操作; +的话就是往 multiset 塞进一个; -的话就是往 multiset 去除一个; ?操作 思路: +和-操作就是处理字符串直接实现一个原字符串改成”01“的映射, 然后去问下,对于每个数字可以搞成18个长度的,然后+1,然后询问一下就好了; 中间如果碰到1的话就说明比他短的都不能匹配,因为比他短的只能是往左添0… 挫代码贴一发:#include <bits原创 2016-09-14 22:05:11 · 557 阅读 · 0 评论 -
Codeforces714B【读题-水】
题意: 给你n个数,然后让你自己选择X,先选择一些+一次;然后选择一些-一次。 思路: 首先要去判断是不是不需要处理或者处理一次的情况; 其实这样的话,你不可能选x然后最小和最大都加减一次,所以肯定是(min+max)/2; 所以在判断一下;#include <bits/stdc++.h>using namespace std;typedef __int64 LL;const int原创 2016-09-14 22:10:46 · 597 阅读 · 0 评论