
WHU暑假集训
xyry
ACM入门中……
展开
-
WHU暑假集训总结&&新学期展望
为期大半个暑假的集训终于结束了,新的学期也开始了。这次集训也是我入门之后第一次比较正式的训练,我以为暑假集训是这样的,集训队里面会有老师带着大家,讲解每个知识点,然后让大家做题。等我真正进去才发现,其实就是队长每天挂一套题,然后我们去做,遇到不会的就自己上网搜题解,问同学。其实这样也好,大家都不会依赖别人,而是会自己主动去查漏补缺。博客我大概是从8月初开始写的(准确的说是7月28日),之前原创 2017-09-04 09:22:08 · 330 阅读 · 0 评论 -
HDU1269 迷宫城堡 强联通分量Tarjan算法
题目链接:HDU1269题目大意:求强联通分量数目,如果是1个输出Yes否则输出Notarjan入门题目,直接套模板模板参考:http://blog.youkuaiyun.com/amourjun/article/details/8808823AC代码:/*2017年8月22日22:57:26第一道tarjan模板题目HDU1269AC代码 */#include #inclu原创 2017-08-22 22:56:16 · 352 阅读 · 0 评论 -
HDU6124 Euler theorem 签到
题目链接:HDU6124题目大意:a mod b 给你a,但是b的值丢失了,求a mod b 有几种可能。找规律,模拟一下打个表,发现了规律,直接输出,ACAC代码:/*HDU61242017年8月15日23:00:02 打表找规律签到 AC*/#include #include #include #include #include #include #i原创 2017-08-15 23:01:21 · 246 阅读 · 0 评论 -
HDU6130 Kolakoski 模拟|找规律|签到
题目链接:HDU6130题目大意:给你一个序列,序列唯一,给你n,求出第n个数字是什么?一开始猜想了一个规律,wa,后来实在想不出来,看了一下clarification,有人给了一个链接。就是介绍这个序列的,Kolakoski序列是一个仅由1和2组成的无限数列,是一种通过“自描述”来定义的数列[1] 。他的前几项为1,2,2,1,1,2,1,2,2,1,2,2,1,1原创 2017-08-15 23:05:41 · 635 阅读 · 0 评论 -
Gym - 100543H Good morning! 打表
题目链接:Gym-100543H点击打开链接题目大意:给你一个数字键盘,你只能往下按或者往右按,或者重复按一个数字这样按出来的数字是合法的。然后给你一个k (不超过200)求出离这个数字最近的合法数字。代码参考:@PreludesAC代码:/*2017年8月27日10:54:52Gym-100543H 代码参考@PreludesAC */ #include #inc原创 2017-08-27 11:06:02 · 425 阅读 · 0 评论 -
Gym - 100543C Sums 等差数列枚举
题目链接:点击打开链接题目思路:根据等差数列的求和公式,枚举N,找到最小的a1即可AC代码:/*2017年8月27日12:11:49[Gym-100543C]利用等差数列求和公式 枚举即可 AC */ #include #include #include #include #include #include #include #include #in原创 2017-08-27 12:13:13 · 382 阅读 · 0 评论 -
HDU1213 How Many Tables 并查集入门
题目链接:HDU1213裸题,直接套用模板AC代码:/*并查集入门2017年8月27日20:49:13HDU1213AC */#include #include #include #include #include #include #include #include #include #include using namespace std;con原创 2017-08-27 20:50:23 · 373 阅读 · 0 评论 -
HDU1272 小希的迷宫 并查集入门||判环
题目链接:HDU1272题目大意:需要知道如何判定无向图中存在环假定:图顶点个数为M,边条数为E遍历一遍,判断图分为几部分(假定为P部分,即图有 P 个连通分量)对于每一个连通分量,如果无环则只能是树,即:边数=结点数-1只要有一个满足 边数 > 结点数-1原图就有环将P个连通分量的不等式相加,就得到:P1:E1=M1-1P2:E2=M原创 2017-08-27 22:11:43 · 377 阅读 · 0 评论 -
HDU1325 Is It A Tree? 并查集入门|判树
题目链接:HDU1325这题和上一题 HDU1272十分相似,唯一不同就是这题是个有向图,并且只需要判定是不是树即可。思路,树上没有环,这一点判定和上题一样,以及只能有一个根节点。注意有向图的父亲指向儿子,所有在合并两点的时候,这一点不要搞反了。AC代码:/*2017年8月28日11:21:01HDU1325并查集入门,判定是不是树 AC */#include原创 2017-08-28 11:18:20 · 326 阅读 · 0 评论 -
HDU4768 Flyer 二分|异或的性质|暴力
题目链接:HDU4768测试一下,能否显示图片题目大意:如果有学生拿了奇数张传单,输出其ID以及传单数量,否则输出DC Qiang is unhappy。代码来自:队友@Vectorhr + 大佬的队伍@bhza8987510 (WHU-潘俊霖)下面提供两种做法,代码里注释写的很清楚,直接看代码就好啦AC代码1:/*2017年8月25日11:15:13HDU4768异原创 2017-08-25 11:07:17 · 374 阅读 · 0 评论 -
Gym 100641A Continued Fractions 模拟|签到
题目链接:点我题目大意:给你一个连分式的公式,然后给你两个实数的组成数字,求出其和 差 积 商 同样以连分式的形式表现出来。题目思路:模拟即可代码参考:来自队友@BinacsLee@VectorhrAC代码:/*2017年8月15日09:28:08A题模拟 WA:头文件改了一下就过了RE:换了另外一个GCD模板 AC*/#include #include原创 2017-08-15 09:29:25 · 296 阅读 · 0 评论 -
UVALive - 4979 Game 暴力|模拟|签到
题目链接:点击打开链接题目大意:给你n组数据,每组数据包含一个5X5的字符矩阵,若出现了连续的三个A(包括横着,竖着,斜着),但是没有出现连续的三个B,那么A赢,反之,出现了三个连续的B,没有三个连续的A出现,那么B赢,如果都出现或者都不出现那么输出draw(平局)。简单粗暴的暴力即可。AC代码:/*2017年8月21日10:01:20UVAlive4979简单粗暴签到 A原创 2017-08-21 09:58:43 · 220 阅读 · 0 评论 -
并查集详解(转)
并查集讲的相当详细,不会了或者忘记了可以拿出来看看并查集是我暑假从高手那里学到的一招,觉得真是太精妙的设计了。以前我无法解决的一类问题竟然可以用如此简单高效的方法搞定。不分享出来真是对不起party了。(party:我靠,关我嘛事啊?我跟你很熟么?) 来看一个实例,杭电1232畅通工程 首先在地图上给你若干个城镇,这些城镇都可以看作点,然后告诉你哪些对城镇之间是有道路直接相连的。转载 2017-07-29 10:58:07 · 280 阅读 · 0 评论 -
Gym 101341M Last Man Standing 模拟|贪心
题目链接:点我题目大意:给你n个人,然后给你一个非递减序列a1 a2 an 分别表示每个人击杀人数,要求满足游戏规则输出YES并且输出每个人击杀的玩家序号,否则输出No.代码能力太弱,想了半天不知道怎么写。后来参考一下大佬的代码,非常巧妙。代码参考:@SmoothLatteAC代码:/*2017年8月14日11:32:44模拟M AC*/#incl原创 2017-08-14 13:47:28 · 660 阅读 · 0 评论 -
UVALive - 4975 Casting Spells Manacher回文串
题目链接:点击打开链接题目大意:给你一个字符串,要求求出最长的 满足 wwrwwr字符串的最大长度 wr是w字符串倒着写。代码参考:http://blog.youkuaiyun.com/luoyang0115/article/details/48008535 原博主代码中注释较少,我在原代码中加上了一些注释,方便大家理解。用到了Manacher算法,如果这个算法不大明白可以搜一下相关知识。Ma原创 2017-08-21 16:40:42 · 336 阅读 · 0 评论 -
补题列表(更新于2017年8月7日10:55:08)
待补题目:1、欧拉函数的应用:HDU2588,POJ2480,HDU3501 欧拉函数知识点讲解2、2017年8月6日 补题:POJ 1990 POJ 3696(欧拉函数) HDU 5744(也许是字符串?) OpenJ_Bailian 4116(入门级BFS,有空把博客补上)HDU - 4628(字符串?)3、2017年8月5日 HDU - 46894、更早:H原创 2017-08-07 10:57:34 · 322 阅读 · 0 评论 -
HDU2588 GCD 欧拉函数简单应用
题目链接:HDU2588题目大意:给你n,m ,1=m 问这样的i 有几个。代码借鉴:大佬的代码思路:假设gcd(i,n)=a, 那么n=a*b ,i=a*d (b>=d&&b,d互质),若b,d不互质,那么最大公约数就不是a了。然后只要让a>=m即可 =>a确定了=>b 就确定了,又因为b>=d&&b,d互质,问题就转换成了求φ(b)即欧拉函数。那怎么求a 呢,n的范围是1e9原创 2017-08-07 12:41:08 · 489 阅读 · 0 评论 -
POJ2480 Longge's problem 欧拉函数应用
题目链接:POJ2480题目大意:∑gcd(i, N) 1代码,思路借鉴:大佬的思路在数论中的积性函数:对于正整数n的一个函数 f(n),当中f(1)=1且当a,b互质,f(ab)=f(a)f(b),在数论上就称它为积性函数。若某函数f(n)符合f(1)=1,且就算a,b不互质,f(ab)=f(a)f(b),则称它为完全积性函数。欧拉函数,gcd(n,k)(当k固定时)原创 2017-08-07 15:54:23 · 393 阅读 · 0 评论 -
UVALive - 4977 Enter The Dragon 模拟|贪心
题目链接:点击打开链接题目思路:用贪心的思路模拟一下,具体注释在代码中。这题是队友写的@BinacsLee,抱紧队友大腿!在队友代码的基础上加上了注释,方便大家理解AC代码:/*2017年8月22日10:21:30UVAlive 4977代码来自队友@BinacsLeeAC */#include #include #include #include #inclu原创 2017-08-22 10:36:37 · 319 阅读 · 0 评论 -
POJ1308 Is It A Tree? 并查集入门|判树
题目链接:POJ1308数据加强版HDU1325注意几个特殊的点 来自discuss@xuhanqiu1: 0 0 空树是一棵树2: 1 1 0 0 不是树 不能自己指向自己3: 1 2 1 2 0 0 不是树....自己开始一直在这么WA 好郁闷 重复都不行呀~~55554: 1 2 2 3 4 5 不是树 森林不算是树(主要是注意自己)5: 1 2 2 3 3 4原创 2017-08-28 11:43:31 · 284 阅读 · 0 评论 -
HDU1856 More is better 并查集入门
题目链接:HDU1856题目大意:求节点最多的那个连通分量,输出节点数量。AC代码:/*2017年8月28日13:57:13HDU1856并查集入门 AC*/ #include #include #include #include #include #include #include #include #include #include using n原创 2017-08-28 13:58:57 · 388 阅读 · 0 评论 -
Problem F. Matrix Game XVII Open Cup named after E.V. Pankratiev||字符串最大表示法
题目:模板题,最大表示法,对字符串预处理一下就好了。AC代码:/*2017年8月30日10:41:29Problem F. Matrix Game字符串的最大表示法 直接用模板 AC*/#include #include #include #include #include #include #include #include #include #原创 2017-08-30 11:34:06 · 423 阅读 · 0 评论 -
Problem L. Canonical duel XVII Open Cup named after E.V. Pankratiev||并查集
题目:题目思路,利用并查集去做,注释写的蛮详细。代码参考:http://www.cnblogs.com/autsky-jadek/p/7287165.htmlAC代码:/*2017年8月29日22:34:16Problem L. Canonical duel二分图+并查集 */ #include #include #include #include #in原创 2017-08-30 11:29:26 · 700 阅读 · 0 评论 -
Problem D. Clones and Treasures XVII Open Cup named after E.V. Pankratiev||简单模拟
题目:简单模拟一下就行。AC代码:/*2017年8月29日20:29:12 Problem D. Clones and Treasures AC签到 */#include #include #include #include #include #include #include #include #include #include using n原创 2017-08-30 11:27:04 · 296 阅读 · 0 评论 -
Problem A. Arithmetic Derivative-XVII Open Cup named after E.V. Pankratiev||找规律&数学&DFS
题目描述:签到题,找规律,手推了规律如下:AC代码:/*2017年8月29日22:33:28Problem A. Arithmetic DerivativeAC 找规律+简单DFS+溢出处理 */#include #include #include #include #include #include #include #include原创 2017-08-30 11:05:49 · 389 阅读 · 0 评论 -
Problem J. Jumbled Compass---Urozero Autumn Training Camp 2016-Day 1||签到&模拟时针转动
题目描述:简单模拟即可AC代码:/*Urozero Autumn Training Camp 2016Day 1: NCPC-2016, Friday, November 25, 2016Problem J. Jumbled Compass签到题AC */ #include #include #include #include #include #in原创 2017-09-03 15:28:43 · 613 阅读 · 0 评论 -
Problem E. Exponial---Urozero Autumn Training Camp 2016-Day 1||指数降幂公式
题目描述:贴一个官方题解:题目思路,用指数降幂公式做,注意开long long。代码参考@W4k3Up @徐航 AC代码:/*Urozero Autumn Training Camp 2016Day 1: NCPC-2016, Friday, November 25, 2016Problem E. Exponial2017年9月3日14:21:27A原创 2017-09-03 14:39:29 · 1318 阅读 · 3 评论 -
POJ2251 Dungeon Master kuangbin-搜索入门-B
题目链接:POJ2251 题目大意:给你一个三维的空间,给你起始点和终点,求一条从起点到终点的最短的时间也就是最短的路径。AC代码,简单BFS/*2017年7月30日10:20:13POJ2251 一直交了好几十发都是 MLE最后发现 没有打访问标记 = =AC */#include<stdio.h>#include<queue>#include<string.h>using n原创 2017-07-30 11:04:14 · 379 阅读 · 0 评论 -
POJ1321 棋盘问题 kaungbin-搜索入门-A
题目链接:POJ1321 题目大意: 给你一个nxn的棋盘(有的位置空缺”.”,有的位置能放棋子“#”),要求你在棋盘能放棋子的地方放k个棋子,要求任意两个棋子,不能同行也不能同列,输出所有可能方案。 简单DFS,代码借鉴 原代码地址 因为本人刚刚接触这部分,所以对每一行代码加了注释,希望你能看懂- - AC代码/*2017年7月29日22:53:39 POJ1321原创 2017-07-29 23:19:58 · 401 阅读 · 0 评论 -
Problem G. Game Rank---Urozero Autumn Training Camp 2016-Day 1||简单模拟
题目描述:简单模拟即可,签到题,注释写的比较详细。AC代码:/*2017年8月31日23:49:24G 简单模拟AC */ #include #include #include #include #include #include #include #include #include #include #include #include原创 2017-09-03 14:44:27 · 373 阅读 · 0 评论 -
AtCoder Beginner Contest 072
题目链接:http://abc072.contest.atcoder.jp/纪念第一次写完4道题,尽管4道都是水题。下面上代码。AC代码:/*2017年9月2日23:15:46 A简单比较大小 */ #include #include #include #include #include #include #include #include #includ原创 2017-09-02 23:11:37 · 269 阅读 · 0 评论 -
HDU4764 Stone 巴什博奕|签到
题目链接:HDU4764题目大意:给两个数n,k,T和J两人轮流说数字,T先说,范围必须在【1,k】 然后之后的每次数字与前一次的数字的差要在[1,k]之间,第一个说的数字大于等于N的输掉。第一个巴什博奕题目。注意找必胜状态,因为取到N是必败状态,所以先手必胜状态是n-1 所以 (n-1)%(k+1)!=0 先手必胜。AC代码:/*2017年8月23日21:59:43HD原创 2017-08-24 09:02:52 · 564 阅读 · 0 评论 -
尼姆博弈
文章转自:http://www.cnblogs.com/jiangjun/archive/2012/11/01/2749937.html感谢大神。尼姆博弈(Nimm's Game)题型尼姆博弈模型,大致上是这样的:有3堆各若干个物品,两个人轮流从某一堆取任意多的物品,规定每次至少取1个,多者不限,最后取光者得胜。 分析1、首先自己想一下,转载 2017-08-24 09:16:26 · 630 阅读 · 0 评论 -
巴什博奕
文字内容转自:http://blog.youkuaiyun.com/xuzengqiang/article/details/7763635代码可放心参考。巴什博弈:只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个。最后取光者得胜。 显然,如果n=m+1,那么由于一次最多只能取m个,所以,无论先取者拿走多少个,后取者都能够一次拿走剩余的物品,后者取胜。因转载 2017-08-24 09:10:31 · 521 阅读 · 0 评论 -
NYOJ135 取石子(二)尼姆博弈+巴什博奕
题目链接:NYOJ135尼姆博弈和巴什博奕的结合题目思路:每一堆的必胜状态是 m%(n+1) 然后对每一堆的最优解进行异或,如果是非平衡状态则先手必胜,否则先手必败。/*2017年8月23日23:32:33NYOJ135nimm+bashAC */#include #include #include #include #include #include #inc原创 2017-08-24 09:29:43 · 432 阅读 · 0 评论 -
HDU1102 Constructing Roads 最小生成树prim||kruskal
题目链接:HDU1102很裸的题目,下面给出prim算法和kruskal算法解题代码,直接套模板即可。AC代码:prim()算法/*2017年8月28日15:57:26HDU1102最小生成树 prim算法AC */#include //#include #include #include #include #include #include #incl原创 2017-08-28 21:07:37 · 356 阅读 · 0 评论 -
Gym - 100543D Wheels 模拟|BFS|签到
题目链接:点击打开链接题目大意:给你n个齿轮的坐标以及半径,假设第一个齿轮的转速为1,顺时针转,求当施加力量使得第一个齿轮转动时,其他齿轮是否转动以及转速转动情况。题目思路:利用BFS从第一个齿轮开始遍历,把与他相邻的齿轮加进队列然后顺着往下扫描即可,暴力模拟可做。AC代码:/*2017年8月26日19:59:41Gym-100543D AC*/#include #in原创 2017-08-26 20:20:32 · 326 阅读 · 0 评论 -
HDU6168 Numbers 签到
题目链接:HDU6168签到题,比较好想,官方题解说的很清楚。AC代码:/*2017年8月22日20:37:31HDU6168AC签到 */#include #include #include #include #include #include #include #include #include #include using namespa原创 2017-08-22 20:42:14 · 296 阅读 · 0 评论 -
Gym - 100543I Bricks 模拟
题目链接:点击打开链接题目大意:给你一段序列,要求你将这个序列,分成每一段B和W比率都相等的块,输出分成的块数。代码参考:@队友 Vectorhr这个博客好像传不了图片,谁能教教我,我还没搞明白……AC代码:/*2017年8月27日11:10:06Gym - 100543I AC加入了快读 速度更快 */ #include #include #inclu原创 2017-08-27 11:12:06 · 505 阅读 · 0 评论 -
Gym 101341H Perfect Ban 暴力模拟|签到
题目链接:点我题目大意:给一个nxm棋盘,每个格子上有数字,要求,你可以选择ban掉任意一行和任意一列,使得剩下的格子中最大值最小。一开始算了算,暴力肯定超时。尼玛从这就开始走弯路了……。代码参考:大佬的代码直接暴力模拟即可,先找到最大值,记录下其行,列。然后模拟删掉这一行(列),找到第二个最大值,继续模拟删掉这一列(行),然后比较这两种情况下,找到的第三个最大值,取较小的原创 2017-08-13 21:22:01 · 697 阅读 · 0 评论