![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
acm
文章平均质量分 50
zjy2015302395
ACM要AC
展开
-
小灶第二次作业
第一道bfs : poj3984http://poj.org/problem?id=3984一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下角的最短路线。第一个问题是如何记录路径,因为不想用结构体记录,所以想到在重新开一个数组,把每一步的上一部记录下来,这样,反过头来就可以找到了,由于bfs是用队列实现的,第一次原创 2016-03-17 18:13:37 · 400 阅读 · 0 评论 -
A+B十六进制
#include #include #include using namespace std;int main(){ long long A;long long B; while(scanf("%I64d%I64d",&A,&B)!=EOF) { long long C = A+B; if(C原创 2016-02-19 09:36:00 · 1071 阅读 · 0 评论 -
HDU2050递归
http://acm.hust.edu.cn/vjudge/contest/view.action?cid=104126#problem/F一道递归的题目,虽然不是很难,但是确实是第一次自己写递归吧,之前的fib除外,背的书上的。希望之后学习dfs写递归时就不害怕了#include long long a (int n){ if(n == 1)原创 2016-02-18 14:21:32 · 439 阅读 · 0 评论 -
HDU 1035
1.不知道怎么存下来步骤,毕竟二维数组已经要存下来方向。。。所以以前用的0,1已经不适合了。。。知道别人的提醒才想到同时设置一个int型数组,把走过的标记上2. 在用了数组后只想到了初始化为0,走过的标记为1,在用step记录下来步数,这样子再找到循环后,却不知道前面走了多少步才是循环的。。。看了别人的代码觉得很巧妙,走过的每一步不是标记为1,而是标记为step,解决了上述问题,很实用原创 2016-01-24 21:45:21 · 360 阅读 · 0 评论 -
猜数字游戏
初次见到题目,觉得很简单,可是仔细敲代码时候却发现根本无法处理如下情况正确序列:1,2,3,4猜测序列:1,1,1,1我选择用字符串保存正确的,然后如果对应上就把它变成字母,下一次就不会算他了,可是如果这样子:正确:1,2,3,4错误:2,3,3,4错误的3算了,正确却没有算,这样显然不符合题意,于是我就卡住了,想不通怎么做,flag也想过,就是无法处理原创 2016-02-01 10:25:03 · 404 阅读 · 1 评论 -
UVA1593 不定量不定长度单词,左对齐
找出每一列的最大长度。。一道题卡了一天,很水虽然,但是这个点想不到我真的做不了,因为不定量,不定长,所以只能用vector做才比较好 while(getline(cin,code)) { stringstream tran(code); //创建一个“字符串流”——tran,接下来只需要像读取cin那样读取tran即可! whi原创 2016-02-23 09:57:06 · 396 阅读 · 0 评论 -
HDU1789贪心
http://acm.hust.edu.cn/vjudge/contest/view.action?cid=104126#problem/P刚拿到这个题目的时候,我的第一反应就是按照日期排序,然后按照扣分多的排在前面的顺序,忽略了可能出现的我主动放弃在小的日期能交的,而是选择把截至日期在后面的扣分多切排不开的放到前面来做,然后转变了一下思路:先按照扣分从大到小排序,分数相同原创 2016-02-21 10:29:54 · 1933 阅读 · 0 评论 -
poj1511小灶第三次作业(dijstra)
历时三天,终于ac。。。第一次这么晚睡觉呵呵。。。http://acm.hust.edu.cn/vjudge/contest/view.action?cid=109960#problem/F题意:直接翻译:有个出发点,然后有很多个公交站台,从一个站台到另一个站台需要花钱,求从初始点到所有站台,然后再回来 最少需要多少钱浓缩成题意:有n个点,m条边的有向图 ,求从初始原创 2016-03-25 01:23:07 · 814 阅读 · 4 评论 -
poj2823 线段树模板题题解
http://poj.org/problem?id=2823给你一组数字,滚动窗口,每次只能看见几个数字,(每次左边出去一个,右边进来一个)求每次的最大数字和最小数字,做了三遍啊啊啊啊。。。。第一想法比较暴力,判断上一次是不是第一个值是最大的或者最小的,如果是,就重新比较,不是就拿上次的最大值或者最小值和最新加入窗口的值比较。代码如下(超时) 如果是noj应该可以过23333~原创 2016-03-27 06:17:26 · 941 阅读 · 0 评论 -
小灶第四次作业:周赛补题
比较失败的一次比赛,第二道题wa了n次之后就被叫走干活。。。一道题手动垫底了。。。。http://acm.hust.edu.cn/vjudge/contest/view.action?cid=112449#problemA:重新定义 Fibonacci F(0) = 7, F(1) = 11, F(n) = F(n-1) + F(n-2) (n>=2). Print the原创 2016-04-12 19:56:55 · 390 阅读 · 0 评论 -
cf#350 div2
A题http://codeforces.com/contest/670/problem/A题意:给你一年的天数,问你最多最少几个周六周日。。竟然wa了一次,忘记考虑%7 = 6的情况了,6天的时候是一定要有个周六或者周日的By zjyhala, contest: Codeforces Round #350 (Div. 2), problem: (A) Holidays, Accepted, # #原创 2016-05-08 23:56:05 · 1359 阅读 · 1 评论 -
又一次周赛题解
又一次周赛题解a题http://acm.hust.edu.cn/vjudge/contest/view.action?cid=114608#problem/A 这道题是我提供的,我曾经写过题解,链接如下: http://blog.csdn.net/zjy2015302395/article/details/51232557c题http://acm.hust.edu.cn/vjudge/conte原创 2016-04-30 17:16:39 · 401 阅读 · 0 评论 -
cf#354
A题http://codeforces.com/contest/676/problem/A题意:让最大的数字和最小的离得最远,只能做一次交换#include <cstdio>#include<iostream>using namespace std;int main(){ int ans,n,i,x,y,t; scanf("%d",&n); for(i=0;i<n;i原创 2016-05-26 21:10:40 · 354 阅读 · 0 评论 -
省赛后周赛1
A题http://acm.hust.edu.cn/vjudge/contest/view.action?cid=117863#problem/B题意:裸拓扑排序,先出现的必须在后面那个前面 拓扑排序:找到入度为0的点,加入队列,把入度为零的点的链接点入度减1,遇到入度为0的加入队列、#include <cstdio>#include <iostream>#include <cstring>#原创 2016-05-26 23:38:43 · 328 阅读 · 0 评论 -
小灶第五次作业 dp
题目大意: 一个n*m的格子,Baker Vai要从(1,1)到(n,m)再回到(1,1),每到一个格子可以收集格子上的数字(每个格子只能走一次,(1,1)这个格子除外),问最终搜集的数字之和最大为多少?解题思路: 可以把题目转化为求两个对象同时从(1,1)出发到(n,m)途中不能相遇,状态转移的时候可以用dp[step][x][y],step代表当前步数,x,y分别代原创 2016-04-23 00:17:35 · 342 阅读 · 0 评论 -
LightOJ 1071
题目大意: 一个n*m的格子,Baker Vai要从(1,1)到(n,m)再回到(1,1),每到一个格子可以收集格子上的数字(每个格子只能走一次,(1,1)这个格子除外),问最终搜集的数字之和最大为多少?解题思路: 可以把题目转化为求两个对象同时从(1,1)出发到(n,m)途中不能相遇,状态转移的时候可以用dp[step][x][y],step代表当前步数,x,y分别代原创 2016-04-24 11:19:54 · 556 阅读 · 0 评论 -
cf#352
A题http://codeforces.com/contest/672/problem/A模拟打表即可#include <iostream>#include <cstdio>using namespace std;int b[2010],a[1010],p = 1;void cf(){ for (int i = 1; i < 500 ;i++) { int te原创 2016-05-21 21:16:15 · 542 阅读 · 0 评论 -
HDU1269 强连通Tarjan
http://acm.hdu.edu.cn/showproblem.php?pid=1269 为了训练小希的方向感,Gardon建立了一座大城堡,里面有N个房间(N<=10000)和M条通道(M<=100000),每个通道都是单向的,就是说若称某通道连通了A房间和B房间,只说明可以通过这个通道由A房间到达B房间,但并不说明通过它可以由B房间到达A房间。Gardon需要请你写个程序确认一下是否任意两原创 2016-07-25 19:48:58 · 369 阅读 · 0 评论 -
区间dp
http://acm.hust.edu.cn/vjudge/contest/121485#problem/AThe multiplication puzzle is played with a row of cards, each containing a single positive integer. During the move player takes one card out of th原创 2016-07-25 20:03:04 · 558 阅读 · 0 评论 -
假期集训--线性dp
例题Ahttp://acm.hust.edu.cn/vjudge/contest/view.action?cid=121767#problem/AFigure 1 shows a number triangle. Write a program that calculates the highest sum of numbers passed on a route that starts at th原创 2016-07-15 18:24:16 · 1007 阅读 · 0 评论 -
cf#363div2
Ahttp://codeforces.com/contest/699/problem/A有点智障的读了好久的题。。还思考了一下会不会出现隔着相遇的,但是是不可能的,只能是相邻 There will be a launch of a new, powerful and unusual collider very soon, which located along a straight line. n原创 2016-07-21 17:15:22 · 434 阅读 · 0 评论 -
#codeforces #369 div2
全场wa longlong 无颜见江东父老a题找两个连着的O变成+#include <cstdio>#include <cstring>#include <iostream>using namespace std;int n;char s[1010][5];void init(){ scanf("%d",&n); int flag = 0; for(int i =原创 2016-08-30 20:42:34 · 264 阅读 · 0 评论 -
陕西省集训(数位dp)
其实这篇文章写出来并不是陕西省集训这一系列该有的样子,只是呢,这种数位dp的写法确实是艾神所赐,我觉得不打上这个标头很对不起艾神,一直以来很怕数位dp,直到遇见这种递推的神奇dpA wqb-number, or B-number for short, is a non-negative integer whose decimal form contains the sub- string “13”原创 2016-09-01 12:43:59 · 353 阅读 · 0 评论 -
陕西省集训 day4(搜索下)
A题:http://codeforces.com/problemset/problem/540/C题意:从起始点到终止点走,’ . ‘表示裂的冰,‘X’表示已经碎了不能走了(起点可以),’ . ‘走过变成’ X ‘,最后要求这个人的末位置冰碎掉。思路:就是说最后末尾位置如果是’。’,要绕出去再回来踩碎它。。。当时读题半个小时QAQ#include <iostream>#include <cstd原创 2016-08-24 01:51:31 · 388 阅读 · 0 评论 -
陕西省集训day3(搜索上)
A题:http://acm.split.hdu.edu.cn/showproblem.php?pid=1175题意:简单版练练看,不能在外侧连,而且折线不能超过两次,中间当然也不能碰到别的东西,简化到每次只问一对,两次没有关系。思路:搜索的时候记得加上上一次的方向,加一个参数就行,如果变了方向就+1,不能超过2#include <iostream>#include <cstdio>#includ原创 2016-08-23 04:24:44 · 445 阅读 · 0 评论 -
陕西省集训day2(二分,贪心,枚举续)
I题:http://codeforces.com/problemset/problem/442/A题意:小明有25种牌,每张有花色和数值,现在他知道手里有哪些牌,但是不知道哪个是哪个。 旁边的人可以提示他花色,把某个花色的牌告诉他,或者数值,同理。求最少提示次数。思路:注释很清晰,用二进制代表花色或者数字是否已知#include<cstdio>#include <iostream>using n原创 2016-08-20 16:41:47 · 591 阅读 · 0 评论 -
陕西省集训day1(枚举,贪心,二分)
A题http://codeforces.com/problemset/problem/478/C题意:告诉你三种颜色的气球各几个,每张桌子需要3个气球,每张桌子上的三个气球颜色不能完全一样,问用已知的气球最多摆几只桌子思路:第一反应一定是相加除以三,但是有可能多的那个有剩余。 从小到大排序,如果最少的和第二少的都分开,分别放在不同的桌子上,那么最多的那个颜色比这个都多就说明多的部分是没有用处的=。原创 2016-08-20 09:48:54 · 412 阅读 · 0 评论 -
陕西省集训之树形dp
doc老师给的树形dp的建议是一次dfs出来所有的解,而不是用记忆化搜索,每次都去dfs子解然后看是否算过了A题: http://poj.org/problem?id=2342There is going to be a party to celebrate the 80-th Anniversary of the Ural State University. The University has原创 2016-09-01 13:20:30 · 363 阅读 · 0 评论 -
陕西省集训(并查集)
并查集正常的思想就是每次输入的时候找到两个人的祖先,如果不是一个的话,把随便一个并给另一个,然后最后想知道有多少个不联营的区域就是相当于找多少个爸爸是自己的节点; int findroot(int i) { if(fa[i] == i) return i; return fa[i] = findroot(fa[i]);原创 2016-09-01 14:23:14 · 310 阅读 · 0 评论 -
陕西省集训(单调队列)
A题:题意:对于一个序列A[1…N],一共N个数,除去M个数使剩下的数组成的整数最小。 也就是说在A[1…N]中顺次选取N-M个数,使值最小。思路:单调队列,删除少于要求各节点的话比之前的数字小,就一定把之前的删除,让小的这个做第一个,这样就相当于维护一个单挑队列,先满足前面的尽量小,能删多少删多少#include <iostream>#include <cstdio>#include <cs原创 2016-09-01 15:56:33 · 329 阅读 · 0 评论 -
陕西省集训之树状数组
http://acm.hust.edu.cn/vjudge/contest/127376#overview 终于写到树状数组了啊,好开心 树状数组可以满足两种题型:1是单点询问区间修改,另一个是区间询问单点修改int lowbit(int x){ return x&(-x);}void add(int pos,int num){ for(int i = pos ; i <原创 2016-09-01 18:43:17 · 632 阅读 · 0 评论 -
2-sat
dfs模板ural 1382int n;int a[maxn], b[maxn], c[maxn];struct TwoSAT{ int n; vector <int> G[maxn*2]; bool mark[maxn*2]; int S[maxn*2], c; bool dfs(int x) { if(mark[x^1]) re原创 2016-08-24 11:01:30 · 303 阅读 · 0 评论 -
简单dp
http://www.lydsy.com/JudgeOnline/problem.php?id=1037 #include <cstdio>#include <iostream>#include <cstring>#define maxn 160using namespace std;long long n,m,k,dp[maxn][maxn][25][25],ans;//i个男的j个原创 2016-09-02 20:49:14 · 270 阅读 · 0 评论 -
组队赛之SPFA+记录路径?
以后要放弃bellman-ford了,tle哭到爆炸#include <cstdio>#include <iostream>#include <cstring>using namespace std;#define maxn 110#define maxm 500005int n,m,row,cl;int head[maxn];int ans ,ansdis;bool vis[ma原创 2016-08-24 20:35:36 · 323 阅读 · 0 评论 -
tarjan+缩点
之前有写过tarjan的模板,反正图论大大真是各种模板,比赛时候就不会,看出来也不会,看不出来更不会=。=,经常我们找到强连通分量之后不是数数个数就结束了,tarjan经常是帮别人一点而已,比如2-sat啊,桥啊,割点 啊什么的,这次只是简单的做了把连通块缩成一个点#include <cstdio>#include <cstring>#include <iostream>using names原创 2016-08-24 20:41:58 · 5467 阅读 · 0 评论 -
tarjan帮我来找桥
http://acm.hust.edu.cn/vjudge/contest/129458#problem/B 判断图中各个联通分量是不是只有中间一条桥,两边都是完全图#include <cstdio>#include <cstring>#include <iostream>#include <vector>#define maxn 110using namespace std;vec原创 2016-08-24 20:47:46 · 396 阅读 · 0 评论 -
hiho#1015 : KMP算法
http://hihocoder.com/problemset/problem/1015 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi和小Ho是一对好朋友,出生在信息化社会的他们对编程产生了莫大的兴趣,他们约定好互相帮助,在编程的学习道路上一同前进。这一天,他们遇到了一只河蟹,于是河蟹就向小Hi和小Ho提出了那个经典的问题:“小Hi和小Ho,你们能不能原创 2016-10-10 00:38:58 · 308 阅读 · 0 评论 -
vijos kmp next数组应用
https://vijos.org/p/1677背景 陶陶是一个智能机器人,他能像人一样思考问题,不过由于IQ问题,他给自己取了一个很长很长的名字。 描述 某一天,陶陶想把自己的名字涂在墙上。由于他的名字太长,为了省事,他从自己名字的开头截取了一段作为模板。我们不妨设这个模板的长度为l,陶陶的名字的长度为L,那么有1≤l≤L。然后陶陶会用这个模板进行若干次喷涂,喷出自己的名字(后一次喷涂会覆盖原创 2016-10-10 01:18:55 · 510 阅读 · 0 评论 -
最长回文子串(O(n) )Manacher算法
http://www.spoj.com/problems/MSUBSTR/ As we all know Utkarsh is very good at solving number based problems, this time Arpit thinks smartly and gives Utkarsh to solve a problem on Strings. Arpit gives原创 2016-10-10 01:59:48 · 477 阅读 · 0 评论 -
poj2391Ombrophobic Bovines
Floyd+二分+最大流(dinic)+拆点 貌似这样子显得很高端呢传送门大意:给定一个无向图,点 i 处有 Ai 头牛,点 i 处的牛棚能容纳 Bi 头牛,求一个最短时 间 T 使得在 T 时间内所有的牛都能进到某一牛棚里去。(1 <= N <= 200, 1 <= M <= 1500, 0 <= Ai <= 1000, 0 <= Bi <= 1000, 1 <= Dij <= 1,000,00原创 2016-09-28 02:42:24 · 358 阅读 · 0 评论