hdu
Zaller
acm退休,考研ing...
无偿给同校学弟学妹们解答;
博客若有看不懂的或者不对的地方,直接私信我就行(如果我回复晚了,对不起都是我的错);
不用太客气等我回复,有问题直接私信发:)
ps: 随缘上线
展开
-
2016ACM/ICPC亚洲区沈阳站-重现赛(感谢东北大学)
目录A Thickest BurgerB Relative atomic massC Recursive sequence · 矩阵快速幂E Counting Cliques · 暴力H Guessing the Dice Roll题目链接2016ACM/ICPC亚洲区沈阳站-重现赛(感谢东北大学)A Thickest Burger#include <bits/stdc++.h>using namespace std;int A, B;void solve() { c原创 2020-11-16 22:32:50 · 410 阅读 · 0 评论 -
2019中山大学程序设计竞赛(重现赛) hdu6521 Party · 线段树
题解题意:1~n号参加m次派对,每次选一个区间的人参加,每次参加派对之后,区间内所有的人都会相互认识,问每次有多少对新朋友产生当两人相互认识时,是一对朋友,所以相互认识可以看成左边的人与右边的人认识这样每一个人的右边都有一个离自己最远的朋友,假设参加新的派对的区间 [l,r][l,r][l,r] 里,有一部分人已经认识了,每一个 iii 的右边都有一个离自己最远的朋友,从这个朋友的右边开...原创 2020-05-06 23:31:44 · 203 阅读 · 0 评论 -
hdu 5636 Shortest Path · Floyd
题解题意:n个点,第i个点和第i+1个点之间有一条边,现在再告诉你6个点,添3条边,边权都为1,m次询问,问s与t之间的最短路因为s与t之间的最短路,要么是这两个点本身之间的距离,要么是通过这6个点,所以Floyd跑一下这6个点之间的最短路,dp找最小的那条路,dis = min(dis, abs(u - a[i]) + d[i][j] + abs(v - a[j]))#inclu...原创 2020-03-03 20:44:52 · 122 阅读 · 0 评论 -
hdu4571 / 2013 ACM-ICPC长沙赛区全国邀请赛 G.Travel in time · Floyd + dp
题解题意:n个景点m条路,每走过一条路需要花费 LLL 的时间,每个景点都有对应的满意度 SiS_iSi ,访问每个景点需要 CiC_iCi 的时间,要求在 TTT 时间内,选择一些满足满意值严格递增的景点参观(也可以路过不参观,路过没有满意值需求),问从景点 SSS 到景点 EEE 的满意度之和最大是多少没有考虑到可能存在这么一个情况:先路过该点不参观,防止该点的满意度太高影响下一个点的...原创 2020-03-03 18:27:36 · 211 阅读 · 0 评论 -
hdu4568 / 2013 ACM-ICPC长沙赛区全国邀请赛 D.Hunter · 最短路+ 状压dp(TSP)
题解题意:n*m的网格里,有k个宝藏,James任意从某个位置走到网格内拾取所有的宝藏再走出网格,每个网格点都有权值,可以重复走,统计走过的路径权值之和,问这个和最小是多少看得出来,是宝藏先取后取会影响路径,而这种问题,一般都是↓TSP:旅行商问题,即TSP问题(Traveling Salesman Problem)又译为旅行推销员问题、货郎担问题,是数学领域中著名问题之一。假设有一个旅行...原创 2020-03-02 20:08:27 · 169 阅读 · 0 评论 -
hdu4572 / 2013 ACM-ICPC长沙赛区全国邀请赛 H. Bottles Arrangement ·思维
题解题意:高度1~m的酒瓶每个都有n个,在n*m的网格里排列,使得每一列没有相同的高度,每一行相邻的两个酒瓶的高度差不超过1,问任何一行的总高度的最大值为什么过得人这么多…真的没看出来它简单…看了别人的题解,大概是构造1、2、3…m、m、…2、1的排序,上下错位保证不会重复,可以看得出来当m在中间的时候行高之和最大假设 m=3 n=5,大致如下构造:1 2 3 3 2 <- - ...原创 2020-03-01 20:42:04 · 146 阅读 · 0 评论 -
hd4565 / 2013 ACM-ICPC长沙赛区全国邀请赛 A. So Easy! · 二阶齐次递推 + 矩阵快速幂
题解这道题里,因为 (a−1)2<b<a2(a-1)^2<b<a^2(a−1)2<b<a2,所以⌈(a+b)n⌉\left \lceil (a+\sqrt b)^n\right \rceil⌈(a+b)n⌉ 可以看成 (a+b)n+(a−b)n(a+\sqrt b)^n+(a-\sqrt b )^n(a+b)n+(a−b)n然后结合下面这个博客:...原创 2020-03-01 20:38:37 · 220 阅读 · 0 评论 -
hdu 4224 Enumeration? · 思维
题解题意:三种硬币,可能质地不均匀,正反面得到的概率可能不同,随机挑一枚硬币随便抛掷,问是否存在某一刻概率相加之和和质地均匀的硬币得到的概率相同因为是随机抛,所以题目给出的三种硬币正反面数值,只是为了告诉你上下面谁出现的概率大,因为是随机挑,所以选到的硬币的种类,可能只有一种,可能是有两种,也有可能三种都有,如果up>down,记 +1如果up<down,记 -1当然,可能...原创 2020-02-22 20:51:20 · 145 阅读 · 0 评论 -
hdu 4217 Data Structure? · 线段树查第k小
题解线段树动态查询基本操作#include <bits/stdc++.h>using namespace std;typedef long long ll;const int N = 1e6 + 10;const int INF = 0x3f3f3f3f;int n, m, k;namespace segment_tree {//线段树板子#define ls...原创 2020-02-22 19:52:46 · 127 阅读 · 0 评论 -
hdu 4216 Computational Geometry? · dp
题解题意:公主在(0,0),炸弹在(x0,y0),给n个向量,可以选择向量之间的使用顺序,也可以选择取向量的反方向(-x,-y),问一系列动作后,公主离炸弹最远多远贪心失败:原想法:既然向量之间的先后顺序不影响最终到达的点,那每次都根据条件使得公主离炸点距离最远,遂,wa(emmm,还没找到原因,再让我想想反例,有没有路过的大神提个醒)后看别人题解:正解dp维护两个数组mx[i][...原创 2020-02-22 18:03:28 · 197 阅读 · 0 评论 -
hdu 4215 Number Theory? · 打表
题解题意:我恨英文题给定两个函数,E(k)E(k)E(k)表示 存在1~k里 且 gcd(k,i)=1的数的总数,F(k)F(k)F(k)表示 1~k里 k的因子个数问1~n区间内,子区间∑E(i)=∑F(i)\sum E(i)=\sum F(i)∑E(i)=∑F(i)的个数,暴力打表后发现,n ≥\ge≥ 30时,子区间个数不再增加#include <bits/stdc...原创 2020-02-22 17:26:50 · 127 阅读 · 0 评论 -
hdu 3954 Level up· 线段树
题解题意:一排n个1级英雄打怪兽吃经验升级,告诉你每个等级所需的经验值,升级不掉经验值,再给两个操作:W l r e每一波怪兽,派出[l,r]区间内的英雄去打,干掉这波怪兽,每个英雄可以获得 自身等级*e 点经验值Q l r询问[l,r]区间内最高的经验值很明显的线段树,但是更新好难啊…看了别人的代码,现在来补补题,由于每次获得经验都是跟英雄自身等级有关,要么暴力更新 不用尝试了,...原创 2020-02-21 20:59:39 · 175 阅读 · 0 评论 -
hdu 3951 Coin Game · 对称博弈
题解题意:n个硬币围成一圈,两个人轮流拿1~k个硬币,拿到的硬币的序号必须是连续的,比如[1,3,4 ]中间缺了2,3号和4号硬币就拿不到,最后一个拿完所有硬币的人获胜,问最终谁胜了对称博弈:在博弈论,如果博弈的收益只依赖于选手所选择的策略而不依赖于进行博弈的选手,这类博弈称为对称博弈。好像没什么卵用↑当 k=1k=1k=1 时,胜负取决于n的奇偶性,这个很好判断当 k≥nk\g...原创 2020-02-21 16:40:35 · 307 阅读 · 0 评论 -
hdu3959 Board Game Dice · 数学期望
题解题意:n个朋友抛m面骰子玩,按照下面规则选出法官:选一个最小的 x,满足 mx≥nm^x\ge nmx≥n每个人选个序,这个序长度为x,每个位置都可以选骰子一面上的数(1~m)放抛x次骰子,组成新的序,谁的序和这个一样,谁就是法官,否则重复这三个步骤问当选法官的数学期望设x表示一个人在第x轮才能当上法官,p表示被选为法官的概率 这里的x不是步骤一的x哦则每个人当上法官的概率...原创 2020-02-20 23:14:34 · 182 阅读 · 0 评论 -
hdu6547 / 2019中国大学生程序设计竞赛-女生专场 · Tree ·树链剖分+线段树
昨天刚学了树链剖分,突然想起来去年第一次参加比赛的时候,也有类似的题目没有做出来,当时比较懒惰,赛后没补,现在翻回来补补题,然后发现这题居然是到简单题,吐血可惜了,当年要是勤快一点,提前学了树链剖分,没准就金了,遂记此题解以作警示,不可再让机会白白溜走了题解很基础的树链剖分+线段树树链剖分入门学习涉及到开根号只能单点修改,这里要注意一下,每次都单点修改会T,特判一下当前点的权值是否为1...原创 2020-02-18 12:24:09 · 234 阅读 · 0 评论 -
hdu 6472 艺术台阶·微积分+多项式维护
题解懒得写了,重点直接看别人的吧代码微积分计算部分过程原理:首先,让我们模拟一遍,假设 ans=∫0b[1]∫ib[2]∫jb[3]1dk dj dians=\int^{b[1]}_0 \int^{b[2]}_i\int^{b[3]}_j 1dk\,dj\,dians=∫0b[1]∫ib[2]∫jb[3]1dkdjdi 最外层是0-b[1]哦对k层积分,∫jb[3]1dk=[k...原创 2020-02-15 19:19:41 · 205 阅读 · 0 评论 -
hdu 5261蜀道难 · 单调队列
题解原创 2020-02-13 20:47:59 · 138 阅读 · 0 评论 -
hdu 5258 数长方形 ·暴力
题解范围小,直接暴力,#include <bits/stdc++.h>using namespace std;typedef long long ll;const int N=1e6+10;int n,m;struct node{ int x1,y1,x2,y2;}a[N],b[N];//竖 横int cnta,cntb;bool judge(no...原创 2020-02-13 19:19:26 · 133 阅读 · 0 评论 -
hdu 5259 弹吉他 · dp
题解原创 2020-02-13 19:12:57 · 131 阅读 · 0 评论 -
hdu 6474 老虎机 · 循环节
题解关键是找出循环节对于我来说,这题的循环节不好搞,经大佬教导,我终于会了,赶紧拿小本本记下来。首先,如果在我们找到循环节之前,k值减光了,直接输出次数,如果没有,假设第y次选到的数a[k%n],是曾经第1~ y-1次中的某一次,记为第x次,那么第x次到第y次的操作是一个循环节,因为 kx和ky mod n 后的余数相同(因为可以选到同一个a),再减去同一个数,接下来的余数也会是相同...原创 2020-02-12 21:56:09 · 772 阅读 · 0 评论 -
hdu 6473 交通灯·二分图染色
题解很明显的二分图染色,一个合法的连通块,必定是单链或者偶数环,所有有三条及以上的边肯定不合法,不过点和边的数量太大了,dfs怕MLE,改成了bfs的#include <bits/stdc++.h>using namespace std;typedef long long ll;const int N=2e5+10;const int mod=1e9+7;vec...原创 2020-02-12 00:12:42 · 202 阅读 · 0 评论 -
hdu 6479 质数串
题解暴力打表后质数串发现只有这些数:2、3、5、7、23、37、53、73、373#include <bits/stdc++.h>using namespace std;typedef long long ll;const int N=1e6+10;int n,m,k;string s;//2 3 5 7 23 37 53 73 373//2 23//3 37...原创 2020-02-11 23:54:33 · 276 阅读 · 0 评论 -
hdu 6478 三色抽卡游戏 · 博弈 Nim
题解Nim游戏·百度百科Nim定义:通常的Nim游戏的定义是这样的:有若干堆石子,每堆石子的数量都是有限的,合法的移动是“选择一堆石子并拿走若干颗(不能不拿)”,如果轮到某个人时所有的石子堆都已经被拿空了,则判负(因为他此刻没有任何合法的移动)。这游戏看上去有点复杂,先从简单情况开始研究吧。如果轮到你的时候,只剩下一堆石子,那么此时的必胜策略肯定是把这堆石子全部拿完一颗也不给对手剩,然后...原创 2020-02-11 23:48:54 · 280 阅读 · 0 评论 -
hdu 6477 数据恢复·set
题解bi^ k = aib ^ k ^ k = a ^ kb = a ^ k暴力做法:统计所有a与b之间可能出现的k,找到最小的那个看了眼范围,觉得会T,就放弃了暴力然后想了想,这个最小的k肯定出现在a[1]和所有的b异或得出的结果里,对a[1]和所有的b异或得出的结果从小到大排序,检验 k[i] 与 a[ 2 ~ n ] 异或产生的b是否存在于原b序列中,到这里已经套了两个f...原创 2020-02-11 23:04:05 · 164 阅读 · 0 评论 -
hdu 6476 自动驾驶系统 · bfs
题解题目保证不会重置障碍,说明 * x y的询问最多出现n*m-1次,每次执行第二种操作就重新统计到达每个格子的最少距离,可以避免每当查询才统计答案而出现的TLE#include <bits/stdc++.h>using namespace std;typedef pair<int,int> pii;const int N=50+1;const int...原创 2020-02-11 22:47:11 · 155 阅读 · 0 评论 -
BC #15 / hdu 5085 Counting problem · 分块+hash / 数位dp
题解版本1:分块+hash向大佬学习学习· 代码学习来源分块部分:将a分为前5位(记作头部ah),和后4位(记作尾部at),b同样划分,a=ah∗10000+ata=ah*10000+ata=ah∗10000+at,(a要先减1)b=bh∗10000+btb=bh*10000+btb=bh∗10000+bthash部分:如果 at<btat<btat<bt先暴...原创 2020-02-10 23:29:46 · 141 阅读 · 0 评论 -
hdu 6723 wls 的树 · lca+主席树
题解原创 2020-02-10 19:48:52 · 224 阅读 · 0 评论 -
BC #68 / hdu 5608 function · 莫比乌斯反演+杜教筛
题解数论劝退…大佬博客 · 忘了再看呗莫比乌斯函数莫比乌斯反演杜教筛原创 2020-02-09 20:44:25 · 173 阅读 · 0 评论 -
HDU 5069 Harry And Biological Teacher AC自动机 + 线段树优化
题解直接看大佬博客 建议模拟一遍,来点图,加深印象两个模式串:ACCGT 和 TTT#include <bits/stdc++.h>using namespace std;const int N=1e5+10;const int INF=0x3f3f3f3f;int n,m,k;struct Segment_Tree{ #define lson l,m...原创 2020-02-08 22:27:22 · 200 阅读 · 0 评论 -
BC #67 / hdu5601 N*M bulbs · 思维 黑白棋盘染色
题解题意:熊孩子从左上角走到右下角,随便走,要求走到右下角的同时灯全灭帖官方题解:我们发现操作数跟n+m-1同奇偶,那是不是当1的个数跟n+m-1同奇偶是就是YES呢?答案是肯定的,我们这样看:首先将棋盘黑白染色,就是若(i,j)格子,若(i+j)是奇数,那么就是黑格子,否则就是白格子。我们发现我们可以通过一种操作使得从一个格子走到斜方向的任意一个格子。这个操作很简单,我们假设一个2∗...原创 2020-02-08 19:05:37 · 566 阅读 · 0 评论 -
BC #67 / hdu 5600 N bulbs·找规律
题解题意:熊孩子从头走到尾,可以往左,也可以往右,每次经过一个位置就必须拨动开关,问当熊孩子走到最后一个位置的时候能否全部灭灯1.如果当前位置是1,可以直接经过2.如果当前位置是0,可以借助下一个位置来回走消除取反,但是会使下一个位置取反接着便是从头到尾走一遍,看看最后位置能否变1(没有下一个位置,不可能是第2种情况)#include <bits/stdc++.h>u...原创 2020-02-08 17:34:36 · 134 阅读 · 0 评论 -
BC #38 / HDU5208 Where is Bob · 数位dp
题解请务必看一下这位大佬的博客数位dp,永远的痛…看到异或,可以想到二进制那么A的做法就是每一位尽量与J不同,J的做法是每一位尽量与A相同,因为是A先选,J后选,对于A的每一个选择,J必定做出最优决策,所以答案是唯一的,所以只要让A选能选的最大就行了,进行过程中会遇到哪些选择呢?第一种:一方当前位置只能选择一种,另一方随便选,那么另一方必定会选择对自己有利的,第二种:两个人都只...原创 2020-02-07 22:48:48 · 133 阅读 · 0 评论 -
BC #37 / hdu 5204 Rikka with sequence · 思维
题解原创 2020-02-07 18:17:02 · 213 阅读 · 0 评论 -
BC #37 / hdu 5203 Rikka with wood sticks·数学
题解将可用的木棍分为x,y两段假设 x,y均有值,且x ≤\le≤ y第三段肯定是由b进行分割,分割成a,b两段,即 a+b=y则有以下不等式:1.a+b=y>xa+b=y>xa+b=y>x2.x+a>bx+a>bx+a>b3.x+b>ax+b>ax+b>a然后将 b=y-a 带入不等式,得:x+y2>a>y−x2...原创 2020-02-06 22:33:06 · 132 阅读 · 0 评论 -
BC #38 / hdu 5207 · 埃氏筛
题解1e5的数据,不可能两两gcd所以只能从因子出发,埃氏筛外层从大到小枚举每个因子内层统计每个含有该因子的数只要个数达到两个就可以直接输出了时间复杂度:n(logn)2n(logn)^2n(logn)2…?#include <bits/stdc++.h>using namespace std;const int N=1e6+10;int a[N];int...原创 2020-02-06 20:28:00 · 147 阅读 · 0 评论 -
NIT4933 / HDU5066 Harry And Physical Teacher · 物理
题解完全弹性碰撞:小球和汽车的运动方向相同小球质量 m,速度 v汽车质量 M,速度 Vmv+MV=mv′+MV′mv+MV=mv'+MV'mv+MV=mv′+MV′ - 动量守恒12mv2+12MV2=12mv′2+12MV′2\frac{1}{2}mv^2+\frac{1}{2}MV^2=\frac{1}{2}m{v'}^2+\frac{1}{2}M{V'}^221mv2+21MV...原创 2020-02-04 22:36:43 · 166 阅读 · 0 评论 -
BC #38 / hdu 5206 Four Inages Strategy
题解写的时候智障了…枚举所有的点的位置…傻了傻了正解:总共四个点,只有6条边,sort一下,前四条相等(边),后两条相等(对角线),且要符合勾股定理如果只有四边相等,对角线相等:awsl为防精度问题,距离直接按平方计算对了,写的时候发现:这么写,是对的for (int cs = 1; cs <= T; ++cs) { if(solve()) printf("Cas...原创 2020-02-06 18:03:38 · 167 阅读 · 0 评论 -
BC #37 / hdu 5202 Rikka with string · 思维
题解题意:填补字符串,并判断是不是非回文将所有?全部替换成a,判断是否为回文串,如果是,将最后一个非中心的a改成b#include <bits/stdc++.h>using namespace std;int n,m,k;string s,t;int main(){ ios::sync_with_stdio(0); while(cin>...原创 2020-02-06 17:14:37 · 162 阅读 · 0 评论 -
HDU5084 HeHe·找规律
规律如下:找规律#include <bits/stdc++.h>using namespace std;typedef long long ll;const int N=1e6+10;ll a[N];int n,m;int main(){ while(~scanf("%d",&n)){ for (int i = 1; i <= 2...原创 2020-02-05 17:30:29 · 119 阅读 · 0 评论 -
NIT4956/HDU5083 Instruction·模拟
c++ string版 也不知道能不能过数字转stringto_string(x)string转数字 = = 没有char*字符串转数字atof(char* s)截取部分stringsubstr(int pos,int len)截取从pos位置开始,长度为len的stringsubstr(int pos)截取从pos位置开始,一直到末尾#include <bits/stdc...原创 2020-02-05 14:27:44 · 221 阅读 · 0 评论