- 博客(26)
- 资源 (28)
- 收藏
- 关注
原创 UVALive-7509-Dome and Steles
ACM模版描述 题解找到一篇不错的题解,写的十分详细,三分。twh233’s blog,有详细的图解,我就不转述了。毕竟,懒。代码#include <iostream>#include <algorithm>#include <cmath>using namespace std;const int MAXN = 1e5 + 10;const double EPS = 1e-14;temp
2017-11-27 13:58:10 485
原创 UVALive-7512-November 11th
ACM模版描述 题解规律题。直接看代码吧,十分好理解。代码#include <cstdio>#include <iostream>#include <cstring>using namespace std;const int MAXN = 1111;int T;int r, c;int seat[MAXN][MAXN];int main(){ scanf("%d", &T);
2017-11-22 19:21:57 308
原创 UVALive-7500-Boxes and Balls
ACM模版描述 题解签到题,二分即可。代码#include <iostream>#include <cstdio>using namespace std;typedef long long ll;ll n;int main(){ int T; cin >> T; for (int ce = 1; ce <= T; ce++) { scanf("%l
2017-11-22 19:10:15 289
原创 51Nod-1649-齐头并进
ACM模版描述题解其实这个题放在二级是有理由的,只不过有坑点而已。一开始看到这个题我很懵逼,怎么避免同时停靠在一个城市呢?如果出现这样的情况,如何绕路才是最好的方案呢?想了一会儿,才发现,想多了……根据题目,我们知道,凡是两个没有火车道直接连通的城市都会建公交。那么从起点通过两种交通方式到达同一个城市,一定是有一种一步便可以到达,另一种则需要多走几步。那么,不管这同一个城市是在途中还是终点,都不可能
2017-11-22 13:19:37 896
原创 HDU-5575-Discover Water Tank
ACM模版描述题解左偏树可解。初始默认所有 z=0z = 0 的情况,然后枚举 z=1z = 1 的情况来更新答案,并且可以用并查集来维护合并的水箱,既然水箱要合并,那么计算水箱的合并用可并堆比较快,可并堆中比较常用编码难度比较低的数到左偏树了。这里由于需要向左向右进行查找挡板,合并后就忽视掉中间的挡板从而视作一个整体,所以仿真链式存储结构比较好。代码#include <iostream>#inc
2017-11-21 22:17:11 574
原创 HDU-5584-LCM Walk
ACM模版描述题解一只疯狂的青蛙位于 (x,y)(x, y),每次只能朝 (x+lcm(x,y),y)(x + lcm(x, y), y) 或 (x,y+lcm(x,y))(x, y + lcm(x, y)),但是青蛙初始的位置并不是题目给出的,题目只给出 (ex,ey)(e_x, e_y),也就是青蛙最后跳到的地方,问青蛙有多少种 (x,y)(x, y) 的可能,也就是起点的存在。一开始很容易想成
2017-11-20 17:33:13 391 2
原创 HDU-5572-An Easy Physics Problem
ACM模版描述题解计算几何问题,给定一质点的位置和速度,给定一个圆柱的圆心和半径,质点移动如果撞上圆柱则发生弹性碰撞。问这个点是否可以经过另一个质点。这个题比较直观的想法是求角度,但是这样容易存在精度上的误差,所以可以采用求一个点关于直线的对称点来求出弹性碰撞后的轨迹,判断另一个质点是否在这个质点的运动轨迹上即可。代码#include <cstdio>#include <iostream>#in
2017-11-20 16:19:41 527
原创 HDU-6004-Periodical Cicadas
ACM模版描述题解在 n∗mn * m 的区域中,有 n∗mn * m 种知了,给出每种知了第一次出现的年数 ss 和周期性 zz,然后询问 (x1,y1)(x_1, y_1) 和 (x2,y2)(x_2, y_2) 为对角线顶点的矩形区域中,所有种类知了同时出现的年份。这里要求矩形区域中所有知了第一次同时出现的年数,我们可以先从两只知了考虑,设甲第一次出现、甲出现周期、甲出现的次数、甲出现的年数、
2017-11-19 14:56:52 584
原创 HDU-6008-Worried School
ACM模版描述题解简单的模拟题,题意不是特别容易翻译,但是模拟的规则十分简单,和 WFWF 晋级资格相似,大致是一共 X+Y=GX + Y = G 个名额,其中 XX 分给中国五个区域赛,YY 个分给 ECFinalECFinal,先考虑五个区域赛的每个赛区的五个第一名、五个第二名、五个第三名……其中重复的只算一次,凑够 XX 个,然后在 ECFinalECFinal 中选前若干名去除和前边五个赛区
2017-11-18 20:05:00 473
原创 HDU-6000-Wash
ACM模版描述题解给定 LL 件衣服让你去洗,洗衣房有 nn 个洗衣机和 mm 个烘干机,每个设备都给定你完成工作所需时间,但是由于设备比较烂,每个设备在某一段时间内只能洗一件衣服,问洗完这 LL 件衣服最短用时多久?这个题很简单,想要时间最短,自然是考虑烘干最后一件衣服所需的时间,那么怎么要这个最后一件衣服在最短时间内处理完呢?这里就涉及到贪心了,首先我们可以根据洗衣机洗涤时间处理出来每件衣服洗干
2017-11-17 19:19:41 478
原创 KWIC-C/C++实现
吐槽最近我们 JavaJava 老师不知道为啥非要我用 C/C++C/C++ 来实现 KWICKWIC,但是因为没有上过课,不知道这个东西是干嘛的,所以想网上 downloaddownload 一下,然而,百度后发现,实在是没有什么能看的过眼的代码,修改他们的代码难度比自己写要大好多,于是,决定找一下定义自己动手实现一下。描述KWICKWIC 索引系统接受一些行,每行有若干字,每个字由若干字符组成;
2017-11-17 13:09:06 2348 3
原创 HDU-6010-Daylight Saving Time
ACM模版描述题解这个题的难点在于题目不好懂,只要读懂了题目,细心一些的人都能做出来。大致的思路是先预处理出来每年的两个时间节点,也就是每年三月份的第二个星期天和每年十一月份的第一个星期天是多少号,然后直接拿数据进行对比即可。现在来说重点,预处理的手段不止一种,常规一些的就是按照年往后推,一年 365365 或者 366366 天,让它们模 77 然后进行偏移,感觉这种方法比较容易想,方法也不错,还
2017-11-16 09:17:15 549
原创 51Nod-1645-中位数变换
ACM模版描述题解这个题很明显是找规律的问题,直接暴力肯定会超时……虽然我也是暴力也两发才反应过来……平时做题总是抱着侥幸心理,比赛时却总是胆小如鼠……自己手解几组长一点的数据就可以发现,不管初始状态如何,最终都会变成连续的 00 和连续的 11 的若干组合,这里的连续是长度大于 11。那么,换言之也就是所有的 00 和 11 紧密交替子序列会被格式化,最后格式化成什么呢?经过推算发现,最后的格式和
2017-11-15 15:01:30 384
原创 HDU-6006-Engineer Assignment
ACM模版描述题解常规的状压 DPDP 套路。给定 NN 个任务和 MM 个工程师,每个任务都有不超过三个的领域人才需求,每个工程师都有不超过两个领域精通。问在工程师只能使用一次的情况下,最多完成多少任务?题目的数据很明显的告诉我们要用状压 DPDP,设置 dp[i][j]dp[i][j] 表示前 ii 个任务,工程师选用组合状态为 jj 时的最多完成任务数。这里我们可以先预处理一下每个任务可以由哪
2017-11-14 14:54:34 311
原创 51Nod-1833-环
ACM模版描述题解图论的问题我没有怎么深入学习,多数都是交给了队友去搞,所以看到这个题时,只知道是图上状压 DPDP,却不知道具体从何入手。看了题解发现,原来形成不相交的简单环其实就是二分图的完美匹配,最后要求的就是二分图的完美匹配的个数取模。所以我们定义 dp[i][j]dp[i][j] 表示前 ii 个点匹配的状态为 jj 的方案数,则最后的结果便是 dp[n][(1<<n)−1]dp[n][(
2017-11-14 13:50:17 415
原创 51Nod-1803-森林直径
ACM模版描述题解根据题目,我们知道,数据是随机建树的,所以树的深度不会特别大,约摸 lg nlg\ n,所以我们可以树归搞搞,亲测,数据随机建树深度最大不超过 6161,大一点没毛病,小一点就 WAWA,至于官方题解中所说的解法,不是特别会写,只给大家贴一下参考参考。官方题解:代码#include <cstdio>#include <cstring>#include <algorithm>us
2017-11-13 20:59:30 639
原创 51Nod-1638-字符串重组
ACM模版描述题解仔细分析这个问题两个串儿的结构,首先将第一个串通过 ii 和 jj 拆解成三部分,i+1∼j−1i + 1 \sim j - 1 作为第二个串儿的第一部分,j∼n−1j \sim n - 1 翻转拼接其后,0∼i0 \sim i 翻转拼接其后,所以其实这个问题也就是为字符串匹配问题。首先将原串进行翻转然后 kmpkmp,之所以要这样做是因为第二个串儿后边两部分是翻转后的匹配,并且要
2017-11-13 00:32:06 452
原创 51Nod-1032-骨牌覆盖 V2
ACM模版描述题解数据弱化的一个题,原题是 51Nod1033骨牌覆盖V251Nod 1033 骨牌覆盖 V2,插头 DPDP。代码#include <iostream>#include <algorithm>#include <cstring>#include <cstdio>using namespace std;typedef long long ll;const int MOD = 1
2017-11-11 01:41:35 647
原创 51Nod-1157-全是1的最大子矩阵
ACM模版描述题解很经典的一个问题,最大 11 矩阵模板,直接套。代码#include <iostream>using namespace std;const int N = 105;int m, n;bool a[N][N];int Run(const int &m, const int &n) // a[1...m][1...n]{
2017-11-11 01:32:13 339
原创 51Nod-1054-最长等差数列
ACM模版描述题解额,最近不知道 51Nod51Nod 怎么了,一下子井喷了好多题,不过这个题就是 1055最长等差数列1055 最长等差数列 的一个数据弱化,直接贴 10551055 的代码稍微改一下数组开的大小即可。代码#include <cstdio>#include <algorithm>using namespace std;int const MAXN = 105;int n, ans
2017-11-11 01:15:38 459
原创 51Nod-1635-第K个幸运排列
ACM模版描述题解1∼n1\sim n 的排列数是 n!n!,阶乘的增长速度是恐怖的,题目中 1≤n,k≤1091 ≤ n, k ≤ 10^9,那么 nn 只要超过 1313,13!=6,227,020,80013! = 6,227,020,800,已经超过了 kk 的最大范围,所以我们很容易想到的是,将 1∼n1 \sim n 序列分成两部分,前部分是 1∼n−cnt1 \sim n - cnt,
2017-11-09 19:43:31 379
原创 51Nod-1829-函数
ACM模版描述题解典型的第二类斯特林数,很容易想到递推式 S(i,j)=j∗S(i−1,j)+S(i−1,j−1)S(i, j) = j * S(i - 1, j) + S(i - 1, j - 1),可是这种写法肯定超时,因为数据太大,复杂度 O(nm)O(nm),所以需要利用容斥来寻求更快的方案。像这种公式,我只能记得一个大概,只好借助百度找到了 S(n,m)=1m!∗∑i=0m(−1)i∗C(
2017-11-07 13:10:40 492
原创 ACM-ICPC 2017 Asia QingDao:喜,抑或是悲?幸运,抑或是倒霉?退役!!!
在连续打崩两场 ACMACM 区域赛后,我们再一次背上沉重的书包踏上了远方的路……我们已经从当初的一银两铜的退役收尾期望变成了只求这场不打铁,不然我们会被浩哥掐死的。哦,忘了说了,浩哥是我们只在意有没有成绩却不在意能给我们提供多少帮助的老师……不过最狗血的是,这次我们的指导老师是一个从农学院转过来的见都没有见过的党委书记……万恶的官僚主义,一个见都没有见过的党委书记成了我们的指导老师,这很清真!周五
2017-11-07 01:33:58 1966 15
原创 HDU-4405-Aeroplane chess
ACM模版描述题解概率 DPDP,求期望。状态转移方程很容易想,设 dp[i]dp[i] 表示在位置 ii 还需要多少期望才能到达终点,那么 dp[n]=0dp[n] = 0,求 dp[0]dp[0] 即可。状态转移方程如下:dp[i]=∑x=16dp[i+x]6.0+1dp[i] = \sum_{x = 1}^6 \frac{dp[i + x]}{6.0} + 1但是题目中提到了传送门,也就是说当
2017-11-01 18:15:36 392
原创 ZOJ-3329-One Person Game
ACM模版描述 题解kuangbin 大佬的题解,神乎其技:代码#include <iostream>#include <cstdio>#include <cstring>using namespace std;const int MAXN = 600;int n, k1, k2, k3, a, b, c;double A[MAXN], B[MAXN], P[MAXN];int main(i
2017-11-01 16:58:53 437
原创 GoldenDream-Nov.
时间过得贼快,转眼就十一月了,十月底的两场比赛纷纷打崩,感觉没有发挥出来自己的实力……当然,这样怪不得别人,只能怪我训练的少,发挥不稳定。立马就要面临最后一场区域赛了,青岛赛区,听说青岛大虾很好吃,不过高考后骑行去的时候没有钱吃,所以这次一定得尝试一下。这次青岛赛区的比赛结束后,我就该退役了,得好好准备考研了,我想考上科大,貌似是一个很不错的学校,为了表示我考上科大的决心,我连 QQ小冰QQ小冰 的
2017-11-01 13:28:30 438 3
ACM模板-f_zyj 更新(内含 v 1.1 和 v 2.1 的 .pages 格式和 .pdf 格式)
2017-09-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人