![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ACM
YZBYZZ
这个作者很懒,什么都没留下…
展开
-
uva 12045 (矩阵快速幂)
题意:一个长度为正数的字符串,只包含“a"和"b"两种字符。每次操作,把所有的b变成ab,a变成b。如S(1) = ab, 则S(2)=b(ab) =bab 记L(n)为第n个串的长度。 给出L(n) = X , L(m) = Y, L(k) 做法:设S(n)中字符a、b的个数分别为a(n)、b(n),则L(n)= a(n) + b(n)...原创 2014-10-12 01:22:00 · 591 阅读 · 0 评论 -
矩阵快速幂小结&反思 不断补充ing
等整理完网络流的题目,再整理矩阵的,此坑待填 ==================== poj3233 Matrix Power Series #include <cstdio>#include <cstring>#include <iostream>using namespace std;#define FD "%d"#...原创 2013-09-27 16:57:39 · 563 阅读 · 0 评论 -
网络流小结&反思 不断补充ing
暑期培训结束之际,开始做网络流。根据网上网络流的题目,断断续续做到了今天。很少有能自己想到怎么构图的,有的虽然构图对了,但还是wa了。还经常犯同样的错误。为了改变这种状况,特写此文。 ======================================== 一个值得一提的是,在没有经过认真的思考之前尽量不要去搜题解或是看discuss。在平时训练的时候,...原创 2013-09-27 16:47:59 · 757 阅读 · 0 评论 -
light 1055 //save for one years later
#include <iostream>#include <cstdio>#include <cstring>#include <queue>using namespace std;const int N=11,INF=0x7fffffff;int vis[N][N][N][N][N][N];char mat[N]...原创 2018-11-05 10:54:28 · 170 阅读 · 0 评论 -
loj 1138 - Trailing Zeroes (III) ( 数论 规律 )
给定p,求最小的n使得n!的末尾含有p个0 对于n!可对其分解质因数如下:n!=1*2*3*...*n =(1)*(2)*(3)*(2*2)*(5)*(2*3)*...要末尾有0很明显要质因数中要有2和5而2出现的频率显然比5高所以5的个数即为阶乘末尾0的个数 至于求质因数中5的个数,以125为例:对于125!,125/5=25,我们只关心其中含5的部分...原创 2013-07-29 21:59:13 · 742 阅读 · 0 评论 -
hdu 3191 How Many Paths Are There ||次短路
给出一个无向图,求给定的两个点之间的次短路长度及其条数 顶点数不多,直接用邻接矩阵存储即可开二维数组dis,dis[i][0]表示从起点到i的最小距离,dis[i][1]表示从起点到i的次短距离 cnt,cnt[i][0]表示从起点到i的最短路条数,cnt[i][1]表示起点到i的次短路条数 vis,vis...原创 2018-11-05 10:54:46 · 174 阅读 · 0 评论 -
poj 1160 Post Office & SCAU 07校赛10320 Post Office ( dp )
题意:给出在同一直线上的v个村庄的坐标,要求建立p个邮局,使得所有村庄与离他最近的邮局的距离之和最小 参考别人的题解做的:https://www.chenyajun.com/2010/05/27/4958 首先开一个二维数组cost,cost[i][j]表示在第i个到第j个村庄这一区间上建立 “一个”邮局时该区间上各个村庄到邮局的距离之和可以证明在(i+j)/2处建立邮...原创 2013-07-29 20:56:51 · 1035 阅读 · 0 评论 -
SGU 296 Sasha vs. Kate ( 贪心 )
题意很好懂,就是下午脑抽,wa了8次卡了4个小时。。。1.一开始直接0~9的个数,先去0、再去1。。直到凑足个数。。。一定是前天做的题用到了统计此刻大脑还有残留。。。2.自作聪明,明明看到题目里k严格小于所给数字的位数,还加了特判,当k等于位数时输出0.。。。作死。3.先找到最大的数字(一个位的),然后在其第一次出现的地方左边依次去掉k个最小的数,如果不足k个则在右侧去除直...原创 2013-07-20 23:27:34 · 1059 阅读 · 0 评论 -
SGU 180 Inversions ( 逆序对(卡数据范围))
题目简短易懂,求给定序列中的逆序对。序列最长有65537个数,o(n^2)的暴力会tle。可用归并排序来达到o(nlogn)。刚好以前听老师讲过逆序对,看完题目直接敲代码。手残敲了2、30min。。大概是。。一提交wa。。。各种纠结,想不出哪能wa代码如下 #include <iostream>#include <cstdio>...原创 2013-07-16 20:05:48 · 870 阅读 · 0 评论 -
hdu 3342 Legal or Not ( 拓扑排序 )
基本拓扑排序,判断有无环路即可 #include <iostream>#include <cstring>using namespace std;#define MAX 105bool map[MAX][MAX];int in[MAX];int toposort(int n){ for(int i=0;i<n;i++) ...原创 2013-07-14 20:42:41 · 596 阅读 · 0 评论 -
hdu 2647 Reward ( 拓扑排序 )
统计各结点出度,出度为0的点表示他们(A类)所需的reward为888,而reward要比他们多的(B类)则为888+1,reward要比B类多的(C类)则为888+2.。。。其中若一开始从A类得到了B类,然后有某个B类要比另一个B类的reward多,则该B类的reward从888+1改为888+2.。。。以此类推,采用逆向拓扑排序可解此题 #include <cst...原创 2013-07-14 20:25:32 · 617 阅读 · 0 评论 -
hdu 3003 pupu ( (题目易混淆概念、详解) 二分快速幂 )
题目大意:某生物成年的标志是身上的所有皮肤都从不透明变成过透明至少一次,不是同时变成透明才算。(= =!)也就是求最里一层皮肤变成透明的天数(最里一层皮肤要变成透明,必须外面其他所有的皮肤都同时透明才行)。一开始没理解这里,总是不明白样例。理解后,就可以推导了。所以,请分清【前n层皮肤同时为透明】和【第n层皮肤变为透明(即前n层皮肤都变透明"过”)】接下来用total[n]...原创 2013-07-13 15:17:32 · 1129 阅读 · 0 评论 -
hdu 1247 Hat’s Words ( STL map、string的使用及本人忽视的map内部机制 )
比较正规的做法应该是枚举每个的单词分成两部分的情况,如果两部分都能找到则输出,所有情况都不能则不输出。 #include <iostream>#include <cstdio>#include <map>#include <cstring>#include <string>using namespace std;...原创 2013-07-13 14:30:16 · 877 阅读 · 0 评论 -
hdu 1058 Humble Numbers ( 构造因子为给定数的数序列、打表 )
除了1之外的所有Humble Numbers的因子都只能是2、3、5、7中的一个或多个。也就是所有的Humble Numbers都可由1乘以2、3、5、7中的某些数的某次幂得到。 建议不会做的童鞋可以模拟程序求出前几个数,就能明白该算法的思想。 比较蛋疼的是序数词的格式需要注意一下。 ==================================== ...原创 2013-07-13 11:15:20 · 771 阅读 · 0 评论 -
hdu 1285 确定比赛名次 ( 拓扑排序 )
基本拓扑排序问题。一开始wa,经过一番纠结后发现是统计各结点入度时出了问题:输入数据可能会有重复,而我统计入度在读入的时候就执行,并且一开始没有判断该边是否已存在。 #include<cstdio>#include <cstring>using namespace std;int map[505][505],indegree[505],res[...原创 2013-07-13 10:53:59 · 907 阅读 · 0 评论 -
hdu 1874 畅通工程续 ( 最短路(dij/floyd))
简单图论,求最短路径,可用dij算法,复杂度o(n^2)。一开始wa,看了别人的题解后发现:在读入的时候,可能u,v之间有多条(直通)道路,取最小的存储即可。 #include<cstdio>#include <cstring>using namespace std;#define MAX 205#define MAX_DIS 10000000...原创 2013-07-13 10:44:20 · 642 阅读 · 0 评论 -
poj 3264 Balanced Lineup ( ST算法(dp))
题意: 给出N个数,Q个询问。 每个询问求区间[L,R]中最大值与最小值之差。做法: ST算法,本质上是一种dp。 假设用二位数组来保存最大值的信息,其中max[i][j]表示从第i个数开始(每行0号元素不用,即i! = 0),长度为2^j的区间,即[i, i + 2^j-1]。 则...原创 2013-09-27 17:21:27 · 924 阅读 · 0 评论 -
poj 3468 A Simple Problem with Integers ( 线段树 )
全裸线段树。写此篇主要是太久没写线段树,贴个模板备忘。模板来自NotOnlySuccess的博客 #include <iostream>#include <cstdio>using namespace std;#define lson l,m,rt<<1#define rson m+1,r,rt<<1|1const i...原创 2013-09-28 00:29:04 · 619 阅读 · 0 评论 -
poj 2823 Sliding Window ( 单调队列 )
题意:给你n个数,然后要你从左到右输出每个区间长度为k的区间上的最小值和最大值。思路:这里拿最小值来说,最大值同理。我们可以这样做从左往右扫一遍,不断更新最小值,同时还要考虑该最小值是否在当前所考虑的区间里,如果不是的话,就要另找一个合法的最小值问题是怎么在o(n)或者o(nlogn)的时间内实现。单调队列刚好可以解决这个问题。顾名思义,单调队列里的元素都是单调递升(或递减,看需...原创 2013-09-28 18:12:08 · 698 阅读 · 0 评论 -
hdu4966 hdu4009 (最小树形图)
hdu4966一开始以为是网络流,各种坑队友,后来才发现是相当裸的最小树形图。 添加一个根,连边到各课程的0级,权值为0。然后每个课程从(i)级连边到(i-1)级,权值为0.最后根据课程间的关系再连边。 #include <cstdio>#include <cstring>#include <iostream>u...原创 2014-08-20 23:55:25 · 630 阅读 · 0 评论 -
2013成都国赛 hdu 4782 Beautiful Soup (模拟)
去年现场赛没有过到题,今天碰巧看到hdu上有这题。给出一段合法的HTML代码,要求将其格式化。之前的时候,一直想着一步到位做完,结果连样例都没过。今天采取先将tags和文本各自读出来,单独列成一行,再考虑缩进的问题(缩进跟前面比起来其实不算问题)。然后就是各种全局变量满天飞。在该博客到帮助下,找到错误的数据(输入的某段文本之间如果有TAB或回车,会多一个空格。而正确的应该是在文...原创 2014-08-16 20:30:41 · 768 阅读 · 2 评论 -
训练指南5-图论
Uva11624 - Fire!迷宫问题。有多个起火点,每一时刻所有起火点向上下左右四个蔓延。必须在某处起火之前才能通过该处。问人逃出迷宫的最短时间。#include <cstdio>#include <iostream>#include <iomanip>#include <cstring>#include <qu...原创 2014-08-15 03:14:18 · 468 阅读 · 0 评论 -
uva12655 Trucks (MST + LCA)
参考链接:http://blog.csdn.net/diary_yang/article/details/16011083题意:n个点,必定连通。m条无向边,每条边都有一个权值。s个询问。每个询问求从l到h的路径中最小权值的边的最大值。思路:可以发现答案一定在最大生成树中。假设答案不在最大生成树中,则生成树中必定有某条边(u,v)没有走,而走了不在生成树中其他的若干条边来实现从...原创 2014-08-13 01:59:35 · 475 阅读 · 0 评论 -
scau_oj 10310 Valentine's Day (最大生成树、bfs)
10310 Valentine's Day该题有题解时间限制:1000MS 内存限制:65535K提交次数:92 通过次数:27题型: 编程题 语言: 无限制DescriptionFebruary 14th every year is the Western Valentine's Day. Valentine's Day is called “qingrenji...原创 2014-01-19 17:09:28 · 942 阅读 · 0 评论 -
zoj 3278 & scau_oj 10273 8G Island (二分)
题意:两个数组,元素个数分别为n和m。两两相乘可得n*m个数,求第k大的数。 思路:本渣是听了别人二分的想法后才写出的。两数组皆 非升序 排序。 首先,二分枚举第k大的数可能是多少。假设当前枚举到mid,则计算大于等于mid的数有多少个。设之为tmp个。若tmp > k,说明 第k大的数比mid大若tmp < k,说明 第k大的数比mid小若...原创 2014-01-18 17:53:12 · 1307 阅读 · 0 评论 -
hdu 1045 Fire Net (dfs || 二分图)
题意:一个N*N的方格,上面有一些地方是墙。一个blockhouse能往四个方向射击,但不能穿透墙。问最多能放多少blockhouse使他们互不攻击到。解法:一、因为数据范围很小,可以直接暴露dfs枚举所有可能,取最大值。dfs在这里一个比较简单的实现是,是从(0,0)(这里用0表示)出发,递归到(n-1,n-1)(这里用n*n - 1表示)结束,这样比较好写,思路也很清晰。...原创 2013-11-21 14:02:43 · 875 阅读 · 0 评论 -
hdu 1166 敌兵布阵 ( 树状数组 )
很裸的树状数组 #include <cstdio>#include <cstring>const int N=50005;int a[N],t[N];int n;inline int lowbit(int i){return i&(-i);}void update(int i,int j){ while(i<=n) {...原创 2013-09-29 18:04:09 · 665 阅读 · 0 评论 -
2013 长春网络赛 水题题解&反思
下午刚做的题目,只会水题,按出题顺序写。 ===========06 Stone题意: 给出N、K。首先A写一个在[1,K]之间的数X,然后B写下一个数Y,Y必须满足1<=Y-X<=K。然后X=Y,A再写一个数Y,同样必须满足1<=Y-X<=K。。。 谁写出的数字大于等于N,谁就输了。做法: ...原创 2013-09-28 20:44:08 · 1006 阅读 · 0 评论 -
poj 3687 Labeling Balls ( 拓扑排序 )
题意: 有N个质量分别为1~N的球,对他们进行编号,编号为1~N,且必须满足以下要求: 任意两个球的编号都不相同。 然后还会给出一些约束条件(a,b),表示编号为a的球比编号为b的球要轻。 如果能满足所有的约束条件,则依次输出编号1~N的球的质量,同时要使编号为1的球的质量尽可能小,在满足前面条件的情况下编号为2...原创 2013-09-28 19:27:20 · 630 阅读 · 0 评论 -
二分图小结&反思
暑假做的,有些东西可能忘了。 =========== poj 1719 Shooting Contest 二分图第一题,对着模板写的,忘了注释freopen,wa了一次 #include <iostream>#include <cstdio>#include <vector>#include <cstring>...原创 2018-11-05 10:30:11 · 159 阅读 · 0 评论 -
poj 2234 Matches Game || 博弈
#include<cstdio>int main(){ int n,t,res; while(~scanf("%d",&n)) { scanf("%d",&res); for(int i=1;i<n;i++) { scanf("%d",&t); res^=t; } if(..原创 2018-11-05 10:30:19 · 155 阅读 · 0 评论 -
poj 2533 Longest Ordered Subsequence || dp
题意: 求最长上升子序列长度。做法: dp。 #include <iostream>#include <stdio.h>#include <string.h>#include <math.h>#include <algorithm>#include <vec...原创 2018-11-05 10:53:06 · 140 阅读 · 0 评论 -
hdu 4004 The Frog's Games ( 二分+贪心 )
题目就是说,一条长为l的河有n块石头,给出每块石头离起始的岸边的距离,要求青蛙在经过小于等于m次跳跃后就能到达彼岸,求青蛙在跳的过程中,跳的距离最长的那一步距离是多少。不妨将其称为最长距离。显而易见,如果只跳一步的话,最长距离就是河的宽度l。取最小的最长距离为0。利用二分的思想,每次取其中值mid,进行判断。如果在m次内能跳到彼岸且m次跳跃的距离皆小于mid,则说明 最长距离 最小 可以为m...原创 2013-09-28 19:01:39 · 929 阅读 · 1 评论 -
scau 1138 代码等式 ( 并查集 )
1138 代码等式 时间限制:500MS 内存限制:65536K提交次数:59 通过次数:21题型: 编程题 语言: 无限制 Description一个代码等式就是形如x1x2...xi=y1y2...yj,这里xi和yj是二进制的数字(0或1)或者是一个变量(如英语中的小写字母)。每一个变量都是一个有固定长度的二进制代码。例如:a,b,c,d,e是变且它...原创 2013-09-28 18:15:29 · 2517 阅读 · 0 评论 -
poj 1002 487-3279 ((含易错点、测试数据) 简单模拟 )
题目大意:把大写字母按照对应关系转换成数字,统计每个电话号码出现的次数,按号码升序输出那些有重复的。思路:用字符串数组接收输入,转换成七个数字的同时表示成一个七位数,方便比较。全部转换完后,进行排序。然后遍历一次,边统计次数,边输出。思路应该是比较清晰的,提交后却是wa。然后重新看了一下,发现自己一开始看题的时候有注意到前导零的控制以及“No duplicates“的情况,但写的时候...原创 2013-04-08 19:05:41 · 3862 阅读 · 2 评论