
HG集训
xyc1719
努力会说谎,但努力不会是白费
展开
-
【动态规划dp】青蛙的烦恼(frog)
青蛙的烦恼(frog) 【题目描述】 池塘中有 n 片荷叶恰好围成了一个凸多边形,有一只小青蛙恰好站在 1 号荷叶上,小青蛙想通过 最短的路程遍历所有的荷叶(经过一个荷叶一次且仅一次),小青蛙可以从一片荷叶上跳到另外任意一 片荷叶上。 【输入格式】 第一行为整数 n,荷叶的数量。 接下来 n 行,每行两个实数,为 n 个多边形的顶点坐标,按照顺时针方向给出。保证不会爆 double。...原创 2018-04-07 21:00:19 · 1322 阅读 · 0 评论 -
【动态规划】Coin Change 2硬币问题(2)
Description 有n种硬币,面值分别为V1,V2,V3,…..Vn,每种都有无限多。 给定非负整数S,可以选用多少个硬币,使得面值之和恰好为S? 输出硬币数目的最小值和最大值。1<=n<=100, 0<=S<=10000,1<=Vi<=S。Input Data 输入有三行:第一行一个整数S;第二行一个整数n,表示硬币种数;第三行n个整数,表示...原创 2018-04-16 09:28:06 · 596 阅读 · 0 评论 -
【动态规划dp】火车进站(train)
火车进站(train)【题目描述】火车站内往往设有一些主干线分叉出去的铁路支路,供火车停靠,以便上下客或装载货物。铁路 支路有一定长度;火车也有一定的长度,且每列火车的长度相等。 假设某东西向的铁路上,有一小站。该站只有一条铁路支路可供火车停靠,并且该铁路支路最多 能容纳 M 辆火车。为了火车行驶的通畅,该站只允许火车自东方进站,自西方出站,且先进站的火车 必须先出站,否则,站...原创 2018-04-06 21:53:15 · 4982 阅读 · 0 评论 -
【动态规划】Poj1742 Coins【解法汇集】
【 题目描述 】 金银岛上的人使用金币,每种金币面值分别是 A1; A2; A3; : : : ; An 元。一天 Tony 决定在 附近商店买一个非常好的表,他想在付钱的时候不要找零,但是他发现他的钱包里每种金 币的数量分别只有 C1; C2; C3; : : : ; Cn 个。不过,Tony 知道这块表的价格不会超过 M 元金币 (他不知道表的精确价格)。不知他的付钱方式能否实现。 ...原创 2018-04-23 08:51:31 · 2784 阅读 · 2 评论 -
【动态规划】The Tower of Babylon 巴比伦塔
Description有n(n<=30)种立方体,每种都有无穷多个。要求选一些立方体摞成一根尽量高的柱子(可以自行选择哪一边作为高),使得每个立方体的底面长宽分别严格小于它下方立方体的底面长度。Inout sample1 10 20 30 2 6 8 10 5 5 5 7 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 6 6 6 7 7 7 ...原创 2018-04-19 08:39:32 · 447 阅读 · 0 评论 -
【动态规划】bitonic tour双调旅行商问题
Description欧几里德旅行商(Euclidean Traveling Salesman)问题也就是货郎担问题一直是困扰全世界数学家、计算机学家的著名问题。现有的算法都没有办法在确定型机器上在多项式时间内求出最优解,但是有办法在多项式时间内求出一个较优解。为了简化问题,而且保证能在多项式时间内求出最优解,J.L.Bentley提出了一种叫做bitonic tour(双调旅程)的哈密尔...原创 2018-04-19 10:21:21 · 1876 阅读 · 0 评论 -
【动态规划】Unidirectional TSP 单向旅行商问题
给定一个m行n列(m<=10,n<=100)的整数矩阵,从第一列任何一个位置出发每次往右、右上或者右下走一格,最终到达最后一列。要求经过的整数之和最小。整个矩阵是环形的,即第一行的上一行是最后一行,最后一行的下一行是第一行。输出路径上每列的行号。多解时输出字典序最小的。图9-5中是两个矩阵和对应的最优路径(唯一的区别是最后一行)。 图9-5Input sample...原创 2018-04-19 12:04:46 · 664 阅读 · 2 评论 -
【动态规划】Jin Ge Jin Qu 劲歌金曲
Description如果问一个麦霸:“你在KTV里必唱的曲目有哪些?”得到的答案通常都会包含一首“神曲”:古巨基的《劲歌金曲》。为什么呢?一般来说,KTV不会在“时间到”的时候鲁莽地把正在唱的歌切掉,而是会等它放完。例如,在还有15秒时再唱一首2分钟的歌,则实际上多唱了105秒。但是融合了37首歌曲的《劲歌金曲》长达11分18秒,如果唱这首,相当于多唱了663秒!假定你正在唱KTV,还剩t秒...原创 2018-04-19 14:19:11 · 478 阅读 · 0 评论 -
【动态规划】Lighting System Design 照明系统设计
Description你的任务是设计一个照明系统。一共有n(n≤1000)种灯泡可供选择,不同种类的灯泡必须用不同的电源,但同一种灯泡可以共用一个电源。每种灯泡用4个数值表示:电压值V(V≤132000),电源费用K(K≤1000),每个灯泡的费用C(C≤10)和所需灯泡的数量L(1≤L≤100)。假定通过所有灯泡的电流都相同,因此电压高的灯泡功率也大。为了省钱,可以把一些灯泡换成电压更高...原创 2018-04-19 15:31:48 · 465 阅读 · 1 评论 -
[动态规划]【ACM/ICPC Word Finals 2003, UVa 1025】A Spy in the Metro 城市里的间谍
题目描述某城市地铁是线性的,有n个车站,从左到右编号1-n。有M1辆列车从第1站开始往右开,还有M2辆列车从第n站开始往左开。在时刻0,Mario从第1站出发,目的在时刻T会见车站n的一个间谍。在车站等车时容易被抓,所以她决定尽量躲在开动的火车上,让在车站等待的时间尽量短。列车靠站停车时间忽略不计,且Mario身手敏捷,即时两辆方向不同的列车在同一时间靠站,Mario也能完成换乘。In...原创 2018-04-13 20:50:40 · 222 阅读 · 0 评论 -
【动态规划】Partitioning by Palindromes 划分为回文串
Description输入一个由小写字母组成的字符串,你的任务是把它划分成尽量少的回文串。例如,racecar本身就是回文串;fastcar只能分成7个单字母的回文串,aaadbccb最少分为3个回文串:aaa,d,bccb。字符串长度不超过1000。Input sample3 racecar fastcar aaadbccbOutput sample1 7 3 —...原创 2018-04-19 15:58:19 · 393 阅读 · 0 评论 -
【下海捕鱼】求无向图的点双连通分量(模板)
Description给出一个n个点(编号1..n),m条边的无向图,求图的点双连通分量(Biconnected Component)。Input Data包含多组测试数据,每组数据格式如下: 第一行输入n,m(n<=1000, m<=10000) 下面m行每行输入u,v表示u和v之间有边。 每组数据间有一个空行。 最后一行是n=m=0,表示数据结束。Outpu...原创 2018-04-25 08:51:35 · 599 阅读 · 2 评论 -
【Dfs剪枝+二进制】CodeForces 293B 独特的路径
【问题描述】给定一个 n*m 的矩形色板,有 k 种不同的颜料,有些格子已经填上了某种颜色,现在 需要将其他格子也填上颜色,使得从左上角到右下角的任意路径经过的格子都不会出现两种 及以上相同的颜色。路径只能沿着相邻的格子,且只能向下或者向右。 计算所有可能的方案,结果对 1000000007 (10^9 + 7)求模。【输入数据】第一行,三个整数 n, m, k (1 ≤ n, ...原创 2018-05-06 18:58:47 · 422 阅读 · 0 评论 -
HDU5778 绝对值abs
【问题描述】给定一个数 x,求正整数 y≥2,使得满足以下条件: 1.y-x 的绝对值最小; 2.y 的质因数分解式中每个质因数均恰好出现 2 次。【输入数据】第一行输入一个整数 T(1≤T≤50) 每组数据有一行,一个整数 x(1≤x≤10^18)【输出数据】对于每组数据,输出一行 y-x 的最小绝对值。【输入样例 1】5 1112 4290 ...原创 2018-05-13 19:10:50 · 219 阅读 · 0 评论 -
【雅礼2014】GCD&LCM
【问题描述】给定一个由 N 个整数构成的数列 {A}, 求出如下描述的两个最长子串: 【输入数据】对于每个测试点: 第一行包括一个整数 T,代表数据组数。 对于接下来的每一组数据,包括两行。 第一行,为一个整数 N 代表序列长度。 第二行,为用空格分隔的 N 个整数 Ai。【输出数据】对于第 i 组数据,你需要输出组数标示 “Case i: ” 其中 i 表示当...原创 2018-05-13 20:01:57 · 237 阅读 · 0 评论 -
【LCA倍增】修路 build
【问题描述】有 n 个兵营里驻扎着士兵,由于兵营间没有路,士兵不能相互增援。现在工程队每天 可以修建一条连接两个兵营的双向道路。现在指挥官询问,对于一个兵营 u,最早什么时候 可以增援兵营 v,即两个兵营之间有连通的路径。【输入数据】第一行两个整数 N,M,表示兵营的数量和道路的数量,兵营从 1-N 编号。 接下来 m 行,每行两个整数 x,y,表示会按顺序修建兵营 x 和兵...原创 2018-05-14 09:16:26 · 235 阅读 · 0 评论 -
【二分图染色】[UVA11080] Place the Guards 城市警卫
Description(粗略版)一些城市,之间有道路相连,现在要安放警卫,警卫能看守到当前点周围的边,一条边只能有一个警卫看守,问是否有方案,如果有最少放几个警卫PDF(English)Input Sample2 4 2 0 1 2 3 5 5 0 1 1 2 2 3 0 4 3 4Output Sample2 -1———————————————...原创 2018-04-29 21:12:58 · 251 阅读 · 0 评论 -
Scc(强连通分量)的非递归式写法
强连通分量的递归写法不解释,如有问题请右转传送门: 强连通分量–Tarjan个人理解+详解优势:防止tarjan求强连通分量时爆栈从递归式出发,程序是从原来的递归程序运行一半,递归运行下一层。直至下一层的递归调用完毕后,再回溯至源程序。而手工栈需要模拟系统栈的调用方式,先定义一个类似于栈的数组或数据结构,再通过while循环调用进行模拟运算。但漏洞是很明显的,在系统栈的调...原创 2018-05-27 17:17:56 · 1511 阅读 · 0 评论 -
【D20】签到register
【问题描述】今天是第一届打字比赛的报到日,第零届的冠军查尔明·奥舒艾肖到达了这届的举办地 ——WZOI 大楼。在排了一下午的队之后,终于轮到了查尔明签到。WZOI 科技发达,使用 了一种叫做“自动签到机”的高科技,在签到时,选手需要输入验证码来进行确认。这是由 Dustar 研发的一个系统,每次会给出 T 张 10*10 的黑白图片,每张的黑色部分形成了“0”、 “1”、“8”三个数字...原创 2018-06-03 15:25:45 · 365 阅读 · 0 评论 -
【D20】秒题 accept
【问题描述】 签完到后第二天就迎来了考试日。 由于前一天晚上通宵写题,查尔明不得不打起了瞌睡,他终于顶不住了,趴下来补觉。 为了防止 Rank1 被抢走,你需要在查尔明补觉的期间帮他完成第一题。 题目是这样的: n 个小朋友凑齐钱去拍照。一开始摄影棚中没有任何人,摄影师一共进行了 m 次操作, 每次他会叫编号为 i 的小朋友进来或者出去,然后将摄影棚中所有人按编号从小到大排序后 拍一...原创 2018-06-03 16:57:07 · 276 阅读 · 0 评论 -
【D20】虐场 allkill
【问题描述】补觉完毕,查尔明开启了虐场模式,疯狂地屠掉前面那么多道逗逼题之后杀向了最后一 题。这一题是这样的: 给定一张有 n 个点 m 条边的无向图,每条边有边权,而且保证这张图是联通的。 现在有 q 次询问,每次询问会给出两个点 x,y,求 x 到 y 的最短路的长度。 不用多说,这也是一道逗逼题。查尔明分分钟就写好了总复杂度为 O(1)的标算,但是 他很担心自己是否手抖了,所以...原创 2018-06-03 17:24:07 · 416 阅读 · 0 评论 -
[D21] 计算系数 factor NOIP2011
【问题描述】给定一个多项式 k (ax + by) ,请求出多项式展开后 n m x y 项的系数。【输入】输入文件名为 factor.in。 共一行,包含 5 个整数,分别为 a,b,k,n,m,每两个整数之间用一个空格隔开。【输出】输出文件名为 factor.out。 输出共 1 行,包含一个整数,表示所求的系数,这个系数可能很大,输出对 10007 取模后的结果。...原创 2018-06-18 17:07:06 · 239 阅读 · 0 评论 -
NOIP第二轮模拟 Day2 小明搬家
【问题描述】小明要搬家了,大家都来帮忙。 小明现在住在第N楼,总共K个人要把X个大箱子搬上N楼。 最开始X个箱子都在1楼,但是经过一段混乱的搬运已经乱掉了。最后大家发现这样混乱地搬运过程效率太低了,于是总结出了提高效率的方法。大家的速度都是每分钟上(或下)一层楼。所有向上走的人手中都拿一个箱子,所有向下走的人手中都不拿箱子。到达第N层立刻放下箱子向下走,到达第1层立刻拿起箱子向上走。当...原创 2018-07-08 14:26:15 · 386 阅读 · 0 评论 -
NOIP第二轮模拟 Day2 圆圈跳舞
【问题描述】熊大妈的奶牛在时针的带领下,围成了一个圆圈跳舞。由于没有严格的教育,奶牛们之间的间隔不一致。奶牛想知道两只最远的奶牛到底隔了多远。奶牛A到B的距离为A顺时针走和逆时针走,到达B的较短路程。告诉你相邻两个奶牛间的距离,请你告诉奶牛两只最远的奶牛到底隔了多远。【输入】第一行一个整数N,表示有N只奶牛。(2≤N≤100000)接下来2~N+1行,第I行有一个数,表示第I-...原创 2018-07-08 14:37:19 · 211 阅读 · 0 评论 -
NOIP第二轮模拟 Day2 物流运输
【问题描述】物流公司要把一批货物从码头A运到码头B。由于货物量比较大,需要n天才能运完。货物运输过程中一般要转停好几个码头。物流公司通常会设计一条固定的运输路线,以便对整个运输过程实施严格的管理和跟踪。由于各种因素的存在,有的时候某个码头会无法装卸货物。这时候就必须修改运输路线,让货物能够按时到达目的地。但是修改路线是—件十分麻烦的事情,会带来额外的成本。因此物流公司希望能够订一个n天的运输计...原创 2018-07-08 15:04:15 · 352 阅读 · 0 评论 -
NOIP2012 Day1 开车旅行
【问题描述】。。。真心累,不想解释原创 2018-07-06 16:53:05 · 321 阅读 · 0 评论 -
NOIP2012 Day2 同余方程
【题目】求关于方程 ax ≡ 1 (mod b) 的最小正整数解。【输入样例】3 10【输出样例】7【说明】2≤a,b≤2,000,000,000【分析】同志们,这是一道扩展欧几里得算法的模板题啊。 方程可以写成ax-by=1,求不定方程解中x的最小正整数。 其特殊性可以证明gcd(a,b)==1,即a和b互质。 扩展欧几里得算法,请百度或翻开紫书P...原创 2018-07-06 18:02:03 · 182 阅读 · 0 评论 -
NOIP2012 Day2 借教室
【问题简述】给定一个数n表示教室数 接下来n个数r[i],表示每天可以借用的教室数量。 有m份订单,每份订单有三个数d[i],s[i],t[i]。表示从S[i]天到t[i]天,借用d[i]个教室。 现在询问能否满足所有订单。 如果能,则输出0 不能,则输出-1,换行输出最早不能满足的订单。【输入样例】4 3 2 5 4 3 2 1 3 3 2 4 4 2 4...原创 2018-07-06 19:01:47 · 395 阅读 · 1 评论 -
【NOIP2015】Day1神奇的幻方
【题目描述】 幻方是一种很神奇的 N*N 矩阵:它由数字 1,2,3, ,N×N 构成,且每行、每列及两条对角线上的数字之和都相同。当N 为奇数时,我们可以通过下方法构建一个幻方:首先将 1 写在第一行的中间。之后,按如下方式从小到大依次填写每个数 K(K=2,3,⋯,N×N) :若 (K-1) 在第一行但不在最后一列,则将 K 填在最后一行, (K-1)所在列的右一列; 若 ...原创 2018-07-24 18:44:37 · 265 阅读 · 0 评论 -
【NOIP2015】Day1 信息传递
题目描述 有 n 个同学(编号为 1 到 n )正在玩一个信息传递的游戏。在游戏里每人都有一个固定的信息传递对象,其中,编号为 i 的同学的信息传递对象是编号为 T_i 的同学。游戏开始时,每人都只知道自己的生日。之后每一轮中,所有人会同时将自己当前所知的生日信息告诉各自的信息传递对象(注意:可能有人可以从若干人那里获取信息, 但是每人只会把信息告诉一个人,即自己的信息传递对象)。当有人从别...原创 2018-07-24 19:02:54 · 313 阅读 · 0 评论 -
【NOIP2015】Day1 斗地主
这里是洛谷的传送门【分析】 强烈建议做一下luoguP2540斗地主增强版,人不能只满足于随机数据,因为出题人往往都会出一些神奇数据来满足你被卡的愿望。这里讲一下我看见的某位大神的思路:先用f[i][j][k][l]表示当有i个炸弹,有j个三,有k个对子,有l个单牌时最少的出牌数(不考虑顺子),用动归求出每个数值,留作后用。(其实就是预处理,逃)。然后dfs顺子(单顺子、双顺子、三顺...转载 2018-07-24 19:28:29 · 178 阅读 · 0 评论 -
NOIP第二轮模拟 游戏
【问题描述】 Alice和Bob两个人正在玩一个游戏,游戏有很多种任务,难度为p的任务(p是正整数),有1/(2^p) 的概率完成并得到1/(2^(p−1))分,如果完成不了,得0分。一开始每人都是0分,从Alice开始轮流做任务,她可以选择任意一个任务来做;而Bob只会做难度为1的任务。只要其中有一个人达到n分,即算作那个人胜利。求Alice采取最优策略的情况下获胜的概率。 【输入】 一个...原创 2018-07-20 15:04:48 · 235 阅读 · 0 评论 -
【NOIP第二轮模拟】 牛的杂技
【问题描述】 Farmer John养了N(1<=N<=50,000)头牛,她们已经按1~N依次编上了号。FJ所不知道的是,他的所有牛都梦想着从农场逃走,去参加马戏团的演出。可奶牛们很快发现她们那笨拙的蹄子根本无法在钢丝或晃动的的秋千上站稳(她们还尝试过把自己装在大炮里发射出去,但可想而知,结果是悲惨的)。最终,她们决定练习一种最简单的杂技:把所有牛都摞在一起,比如说,第一头牛站在第...原创 2018-07-20 15:23:51 · 357 阅读 · 0 评论 -
【NOIP第二轮模拟】 过路费
【问题描述】 在某个遥远的国家里,有n个城市。编号为1,2,3,…,n。 这个国家的政府修建了m条双向道路,每条道路连接着两个城市。政府规定从城市S到城市T需要收取的过路费为所经过城市之间道路长度的最大值。如:A到B长度为2,B到C长度为3,那么开车从A经过B到C需要上交的过路费为3。 佳佳是个做生意的人,需要经常开车从任意一个城市到另外一个城市,因此她需要频繁地上交过路费,由于忙于做生意,...原创 2018-07-20 15:32:14 · 693 阅读 · 0 评论 -
省常中NOIP模拟 孤独 loneliness
【分析】我们开始胡思乱想,结果发现这道题一定是用容斥问题解决。 不是很看得懂。。。#include<bits/stdc++.h>using namespace std;const int maxn=1<<20;const int mod=1e9+7;template <typename T> void read(T &x){...原创 2018-08-14 13:01:40 · 353 阅读 · 0 评论 -
省常中NOIP模拟 失意failure
【分析】转化为从n个区间中选m个区间使得区间交集最小。m个区间的交集一定是所有区间中的最大左端点和最大右端点夹出的区间。我们可以先将所有区间以左端点为第一关键字排序,当枚举到第i个区间时,选取1~区间i-1中前m-1大的右端点,并和第i个区间的右端点进行比较,取最小点更新答案。我们可以使用一个小根堆,每次將右端点加入堆再弹出最小值,保证每次堆中只有m个元素。用堆顶元素减去当前的...原创 2018-08-14 13:37:43 · 312 阅读 · 0 评论 -
capacitor
【分析】假设我们已经确定了一个分数为a/b,则我们可以通过串并联获得两个新的分数a+b/b或者b/a+b,这时我们可以逆推,从最终的“结果分数”回溯到1/1(或者直接回溯到0)。我们还可以得到一个方便运算的结论,如果数为倒数,结果不变。 可以直接所有分数改为假分数,再不停的减一,重复上述操作。方便的可以用除法来加快运算。#include<cstdio>#...原创 2018-08-14 16:15:37 · 320 阅读 · 0 评论 -
track
____________________________________________________ dp大法好啊,然而我打错了。。。 还是先抽象题目,我们可以神奇看成是Jerry的跑动方式构成一个字符串(任意前缀D不可以大于U,且整个字符串最终D和U个数相同),如果有一个满足Tom的子序列则判断为合法,求合法序列。、貌似有点太抽象了,各位大概感觉一下就可以了。。。原版...原创 2018-08-14 16:56:02 · 234 阅读 · 0 评论 -
荒诞 (absurdity)
【分析】恩,这是一道结论题。恩,没错。 发现无论我们构造一个怎样的字符串,均有Pi=i。 于是我们的问题就变成了求前n项的平方和。鉴于n只有1e6,所以可以直接手摸。也可以使用通项公式:s(n)=n(n+1)(2*n+1)/6。注意每次取模,防止爆零。更不要像我一样手残的输出n。 求通项公式的六种解法 这里是手动模拟的代码:#include<cstdio>...原创 2018-08-12 17:01:50 · 575 阅读 · 0 评论 -
动态仙人掌(dinosaur )
【分析】这道题在考场看到我是完全的蒙蔽的,惊人的妄想着能否用数据离散化后的dp来骗分。。。 我果然很菜。。。好吧,对于我这种菜鸡来说,正解似乎有些难想,让我们考虑从最基本的情况开始考虑。先将所有仙人掌按p为第一关键字排序,从左向右扫。这里我们考虑一个贪心策略,如果仙人掌两两之间距离足够远,则仙人掌之间跳跃的最小高度一定为最高仙人掌的高度。 关于两个相邻的仙人掌如果可...原创 2018-08-08 19:44:24 · 2771 阅读 · 0 评论