HDU
xyry
ACM入门中……
展开
-
[kuangbin带你飞]专题一 简单搜索 刷题总结
人生第一次刷完一个专题。虽然是一个入门专题,我觉得对我来说意义蛮大。希望继续保持,慢慢来,比较快。总的来说难度不大,水题偏多,但是也不可小觑,有很多细节如果没有注意到就会各种报错WA,MLE,TLE,RE,CE之类的。题解稍后贴上。原创 2017-12-08 23:31:11 · 539 阅读 · 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 · 344 阅读 · 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 · 412 阅读 · 0 评论 -
巴什博奕
文字内容转自:http://blog.csdn.net/xuzengqiang/article/details/7763635代码可放心参考。巴什博弈:只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个。最后取光者得胜。 显然,如果n=m+1,那么由于一次最多只能取m个,所以,无论先取者拿走多少个,后取者都能够一次拿走剩余的物品,后者取胜。因转载 2017-08-24 09:10:31 · 514 阅读 · 0 评论 -
尼姆博弈
文章转自:http://www.cnblogs.com/jiangjun/archive/2012/11/01/2749937.html感谢大神。尼姆博弈(Nimm's Game)题型尼姆博弈模型,大致上是这样的:有3堆各若干个物品,两个人轮流从某一堆取任意多的物品,规定每次至少取1个,多者不限,最后取光者得胜。 分析1、首先自己想一下,转载 2017-08-24 09:16:26 · 621 阅读 · 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 · 547 阅读 · 0 评论 -
HDU1325 Is It A Tree? 并查集入门|判树
题目链接:HDU1325这题和上一题 HDU1272十分相似,唯一不同就是这题是个有向图,并且只需要判定是不是树即可。思路,树上没有环,这一点判定和上题一样,以及只能有一个根节点。注意有向图的父亲指向儿子,所有在合并两点的时候,这一点不要搞反了。AC代码:/*2017年8月28日11:21:01HDU1325并查集入门,判定是不是树 AC */#include原创 2017-08-28 11:18:20 · 308 阅读 · 0 评论 -
HDU1272 小希的迷宫 并查集入门||判环
题目链接:HDU1272题目大意:需要知道如何判定无向图中存在环假定:图顶点个数为M,边条数为E遍历一遍,判断图分为几部分(假定为P部分,即图有 P 个连通分量)对于每一个连通分量,如果无环则只能是树,即:边数=结点数-1只要有一个满足 边数 > 结点数-1原图就有环将P个连通分量的不等式相加,就得到:P1:E1=M1-1P2:E2=M原创 2017-08-27 22:11:43 · 350 阅读 · 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 · 351 阅读 · 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 · 622 阅读 · 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 · 234 阅读 · 0 评论 -
HDU1269 迷宫城堡 强联通分量Tarjan算法
题目链接:HDU1269题目大意:求强联通分量数目,如果是1个输出Yes否则输出Notarjan入门题目,直接套模板模板参考:http://blog.csdn.net/amourjun/article/details/8808823AC代码:/*2017年8月22日22:57:26第一道tarjan模板题目HDU1269AC代码 */#include #inclu原创 2017-08-22 22:56:16 · 330 阅读 · 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 · 283 阅读 · 0 评论 -
HDU6154 CaoHaha's staff 找规律|签到
题目链接:HDU6154题目大意:给你n个面积,输出围成每个面积需要的最少的边数,每次只能选择格点的一条边或者对角线。找规律题目。原创 2017-08-20 10:15:15 · 332 阅读 · 0 评论 -
HDU1042 N! 大数阶乘 Java
题目链接:HDU1042用Java写方便,直接算或者打表都行,速度都差不多Javacode:/* * 2017年9月20日19:27:24 * HDU1042 大数阶乘 * 用缓冲流效率基本没变 * AC * */import java.util.*;import java.io.*;import java.math.*;public class Main {原创 2017-09-20 19:34:11 · 618 阅读 · 0 评论 -
HDU5047 Sawtooth 大数乘法|数学递推 Java&&C
题目链接:HDU5047M型分割平面,经过推导,公式为F(n)=8*n*n-7*n+1,如果不懂,请看我的博客折线分割平面问题总结因为这道题数据很大,得用大数。所以这里提供JAVA和C的两种ACcodeC代码:代码参考自:http://blog.csdn.net/u012860063/article/details/39617811/*2017年9月20日14原创 2017-09-20 17:57:02 · 310 阅读 · 0 评论 -
HDU2050 折线分割平面 数学递推
题目链接:HDU2050递推公式为 f(n)=2*n*n-n+1;ACcode:/*2017年9月19日20:39:05HDU2050 折线分割问题 AC */#include #include #include #include #include #include #include #include #include #includ原创 2017-09-19 20:37:52 · 434 阅读 · 0 评论 -
HDU2041 超级楼梯 动态规划入门-递推
题目链接:HDU2041斐波那契数列ACcode:/*2017年9月19日10:54:58HDU2041AC */#include #include #include #include #include #include #include #include #include #include using namespace std;typede原创 2017-09-19 10:56:45 · 483 阅读 · 0 评论 -
HDU2044 一只小蜜蜂... 动态规划入门-递推
题目链接:HDU2044将a设为起点,b为终点 手推几个发现 就是 斐波那契数列。一开始写的int爆掉了 = =ACcode:/*2017年9月18日21:24:04HDU2044AC */ #include #include #include #include #include #include #include #include #include原创 2017-09-18 21:25:16 · 834 阅读 · 0 评论 -
HDU6216 A Cubic number and A Cubic Number 找规律 2017 ACM/ICPC Asia Regional Qingdao Online
题目链接:HDU6216手推一下 a^3-b^3=(a-b)(a^2+ab+b^2);经过推导只有当a=b+1的时候 立方差可能会出现质数,除此之外,不可能存在质数。(如有错误请指正)所以打个表,然后用二分查找 lower_bound 去找,如果找到则返回YES 否则返回N0ACcode:/*2017年9月17日19:30:04HDU6216 找规律 AC */#inc原创 2017-09-17 19:12:21 · 345 阅读 · 0 评论 -
HDU6213 Chinese Zodiac 签到 2017 ACM/ICPC Asia Regional Qingdao Online
题目链接:HDU6213菜鸡切水……ACcode:/*2017年9月17日19:32:26HDU 6213 纯签到 AC*/ #include #include #include #include #include #include #include #include #include #include using namespace std;map原创 2017-09-17 19:34:24 · 433 阅读 · 0 评论 -
HDU6208 The Dominator of Strings 字符串匹配 2017 ACM/ICPC Asia Regional Qingdao Online
题目链接:HDU6208题目思路:题意比较好懂,找到一个长度最长的串,然后判断其他所有串是否能否被这个串包含,也就是是否能够匹配成功,如果成功输出该串,否则输出No;当时队友用字典树,AC自动机不是MLE 就是TLE 然后刚刚队友突然说,暴力也可以做……我就写了一发暴力……结果还真能过……(以后遇到不会的题目,先暴力再说)ACcode:/*2017年9月18日20:08:原创 2017-09-18 20:10:30 · 545 阅读 · 0 评论 -
HDU6198 number number number 矩阵快速幂
题目链接:点击打开链接题目思路:首先暴力的方法,找出前几个数字,最最原始的暴力,下面附上。前几个数字分别是 4,12,33,88,232,609 我们在比较一下斐波那契数列,发现这几个数字是5,13,34,89,233,610 减去1之后的数字,然后针对后面这个序列,我们可以发现f(n)=2*(f(n-1)+f(n-2))-f(n-3) 得到相应的f(n)之后,再减去1就是答案啦。原创 2017-09-10 20:37:51 · 291 阅读 · 0 评论 -
HDU2084 数塔 动态规划入门-递推
题目链接:HDU2084题目思路: 从上往下状态太多不好处理,那么我们就从下往上递推,每一层少一个状态。设一个一维数组dp 初始状态存最下面的那一行 即 第五行dp[1]=4,dp[2]=5,dp[3]=2,dp[4]=6,dp[5]=5往上递推一层 转移方程为 dp[j]=max(dp[j],dp[j+1])+a[i][j];那么对于第4行dp[1]=max(4,5)+2=原创 2017-09-17 10:37:25 · 359 阅读 · 0 评论 -
HDU2018 母牛的故事 动态规划入门-递推
题目链接:HDU2018题目思路:对于第N年, 母牛数量为 前一年的数量+前三年母牛的数量生的小牛 递推公式 dp[n]=dp[n-1]+dp[n-3];AC代码:/*2017年9月17日11:07:14HDU2018AC */#include #include #include #include #include #include #include #原创 2017-09-17 11:05:46 · 421 阅读 · 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 · 364 阅读 · 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 · 471 阅读 · 0 评论 -
HDU4648 Magic Pen 6 签到
题目链接:HDU4648题目大意:给你n个数和一个模m,要求去掉连续的几个数后,这n个数的对m取模不变,求最多能去掉的个数。AC代码:/*2017年8月2日20:11:25HDU4648 签到 AC*/ #include#include#includeusing namespace std;typedef long long ll;const int max原创 2017-08-02 21:39:00 · 294 阅读 · 0 评论 -
HDU1348 Wall 凸包
题目链接:HDU1348 题目大意:给你一些n个点,求其凸包,然后将每条边向外平移一段距离l,这时候每个相邻的两条边之间就会有一个夹角,用需要用弧来填充,画一下就很明白了,然后所有的弧长加起来就是, 2∗π∗l2*π*l 另外还需要注意的一点是,题目要求输出四舍五入整数,这样写 %.0lf 考虑到凸包模板代码还没有看懂,所以没有加上注释,等我以后看懂了,会更新的:) A原创 2017-08-02 09:36:14 · 322 阅读 · 0 评论 -
HDU1348
/*2017年8月1日23:42:25HDU1348 凸包入门 ACs*/ #include #include#includeusing namespace std; const int maxn=1010;struct point{ int x,y;}pt[maxn],ans[maxn];int cnt;int cmp(point a,point b){ /*左下角原创 2017-08-02 09:41:59 · 340 阅读 · 0 评论 -
HDU4651|HDU1028 Partition 整数拆分公式法
题目链接:HDU4651题目大意:给你n,求出n的拆分数,例如p(4)=5 4=1+1+1+1 ,4=1+1+2 , 4=1+3, 4=2+2,4=4;五种拆分,无序。知识点:1、广义五边形数:广义五边形数广义五边形数的公式和五边形数相同,只是n可以为负数和零,n 依序为0, 1, -1, 2, -2, 3, -3, 4...,广义五边形数也可以用下式表示:{\d原创 2017-08-04 15:30:07 · 732 阅读 · 0 评论 -
HDU6127 Hard challenge 极角排序|暴力
题目链接:HDU6127题目大意:给你n个点,坐标X,Y,权值val,要求用一条过原点的直线将这些点分成左右两部分,任意两点的权值等于两点的权值乘积,问最大可划分出来的权值为?题目思路:将所有点按照斜率排序,然后扫一圈即可,说着可能有点抽象,动手画一下图就明白了。每条直线左右点的权值=左边点权值和*右边点权值和。代码参考:大佬的 代码AC代码:/*HDU612720原创 2017-08-16 09:56:28 · 251 阅读 · 0 评论 -
HDU6095 Rikka with Competition 模拟|签到
题目链接:HDU6095签个到。AC代码:/*HDU6095签到成功 AC*/ #include#include#includeusing namespace std;typedef long long ll;const ll maxn=1e5+10;ll a[maxn];int main(){ int t; scanf("%d",&t); while原创 2017-08-08 21:32:36 · 221 阅读 · 0 评论 -
HDU6090 Rikka with Graph 找规律签到
题目链接:HDU6090题目大意:给你n个点,m条边,问能组成的无向图权重最小为,每两个点之间如果有路径,那么这条路径的权值为经过的边数,如果两点之间没有可达路径,那么这两点之间的权值为n,求这个图的最小权值,公式在题目里面。思路:找规律;1、我们发现当n个点,每个点都与其他点有直接边相连时,其边数为n*(n-1)/2,这种情况下,图的权值为n*(n-1),所以当m>=n*(n-1)/原创 2017-08-08 21:16:54 · 241 阅读 · 0 评论 -
HDU6063 RXD and math 快速幂
题目链接:HDU6063 2017 Multi-University Training Contest - Team 3 1008题 水题。 官方题解链接:2017 Multi-University Training Contest 3 solutions BY 洪华敦 比赛的时候一直WA,后来才发现,n的范围为1-1e18,快速幂会爆,所以要在进快速幂之前模一下,但是k不需要模,因为k是幂原创 2017-08-01 22:12:14 · 228 阅读 · 0 评论 -
HDU1950 Bridging signals LIS优化
题目链接:HDU1950 题目大意:给你一段序列,求 LIS=最长递增子序列 朴素的方法O(n^2)会超时,所以这里涉及到了新的知识点 LIS优化->O(nlogn) 关于这个知识点,我在网上看到了比较好的讲解,现在贴在这里最长递增子序列,Longest Increasing Subsequence 下面我们简记为 LIS。 假设存在一个序列d[1..9] = 2 1 5 3 6 4 8原创 2017-08-01 00:21:31 · 297 阅读 · 0 评论 -
HDU1520 Anniversary party 树形DP
题目链接:HDU1520 题目大意:给你n个点,每个点拥有相应的权值,要求选一部分点使得他们权值和最大,要求父亲节点和孩子节点不能同时被选中。 第一次见到树形DP 注释写的很详细 AC代码/*2017年7月31日11:39:59HDU1520 AC代码 */#include<stdio.h>const int maxn=6000+10;//int a[maxn]; struc原创 2017-07-31 16:10:08 · 293 阅读 · 0 评论 -
HDU1232 畅通工程 并查集入门
题目:某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇。省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可)。问最少还需要建设多少条道路?输入:测试输入包含若干测试用例。每个测试用例的第1行给出两个正整数,分别是城镇数目N ( < 1000 )和道路数目M;随后的M行对应M条道路,每行给出一原创 2017-07-28 19:54:23 · 462 阅读 · 0 评论 -
HDU4647 Another Graph Game 签到
题目链接:HDU4647题目大意:有n个点和m条边,每个点有权值,每条边有权值,规则如下,如果要得到点的权值只需要选中那个点即可,如果想得到边权值,必须把这条边的两格点都选中才行,选过的点不能再被选中,Alice先选,Bob后选,每次选都是最优解,求最后Alice的权值-Bob的权值思路:最后要求的是A-B,怎么处理边呢, 这样想,一条边的两个点如果被A选中,那么A-B=w(边权),如果原创 2017-08-02 21:51:44 · 238 阅读 · 0 评论 -
HDU4643 GSM 计算几何-二分
题目链接:HDU4643题目大意:给你n个城市,m个基站,从城市a到城市b,路径为直线,手机总是接受离自己位置最近的基站的信号,问从城市a到城市b中会有几次基站改变的情况。思路:利用二分的思想,求离a b 最近的基站 ,他们连线的中垂线与线段ab的交点,有几个交点就是改变几次。代码借鉴:大佬的代码不大好理解的地方加了注释。AC代码:/*HDU 4643简单计算几何 二分原创 2017-08-03 11:21:32 · 453 阅读 · 0 评论