HDOJ
NingLiu_
该csdn博客专门用来做技术类的总结,希望自己能给初学者一些鄙陋的建议和帮助
展开
-
HDU - 6106 Classes
//水题#include #include using namespace std;const int maxn = 105;int a[7], b[7];int store[maxn];void showa(){ for (int i = 0; i < 7; i++) cout << a[i] << " "; cout << endl;}void showb(){原创 2017-08-20 21:43:36 · 164 阅读 · 0 评论 -
HDU - 2037 今年暑假不AC
题目链接:点击打开链接//属于贪心中比较简单的题目/*该题的关键在于:1. 采用贪心思路,每次选择当前可选的,能够最早结束的节目2. 后一个节目的开始时间,一定要大于前一个的结束时间,上一个节目才能够完整看完*/#include #include #define rep(i, k, n) for (int i = k; i < (n); i++)using原创 2017-11-11 10:18:10 · 198 阅读 · 0 评论 -
HDU - 2044 一只小蜜蜂...
题目链接:点击打开链接/*递归题,但是这题比较难一眼看出是递归,我还是搜索了题解以后,才发现该用递归做,主要难在找规律,发现递归现象的这个过程又及,这题有个极易导致 WA 的坑点,就是斐波拉契数组应该用 long long 类型,否则 int 型数据可能会发生溢出参考题解:http://blog.csdn.net/u011506951/article/details/原创 2017-11-11 13:22:21 · 210 阅读 · 0 评论 -
HDU - 2045 不容易系列之(3)—— LELE的RPG难题
/* 看来真是遗忘了很多知识点...这题也是搜完题解以后,才发现这题是用动态规划的思路... 另,感觉高中数学时好像也学过这个问题,当时好像是用排列组合的思路来写的,其实这题,也可以借助排列组合来理解动态规划的递推式 2个小坑点: 1. 本质上说,递推基础应该是 f(2) 和 f(3),因为有 3 个方格时,刚好是最特殊的一种情况 换种说法 n==3时,第 1原创 2017-11-11 14:29:07 · 211 阅读 · 0 评论 -
HDU - 2046 骨牌铺方格
/* 递归 总体思路: 对于 1张 1 * 2 的骨牌,它只有横放、竖放2种情况 如果要竖放,前(n-1)张牌必须已经固定好,因而这种情况下,就是 f(n-1) 同理,如果要横放,前(n-2)张牌必须已经固定好,这种情况下,就是 f(n-2) 把2种情况下的方案加起来,就是 n 张骨牌的放置方案总数 也可参见这个题解,我觉得比我解释得清楚许多: http原创 2017-11-11 14:48:22 · 203 阅读 · 0 评论 -
HDU - 2047 阿牛的EOF牛肉串
/* 这题本来一头雾水,但在看完一个博主的题解以后,有种“惊为天人”之感...后来反思了一下,以前做数学题时,其实是有用过逆推法的,从最终的结果出发,不断推理之前一步的情况 仔细想了一下,递推的许多题目,似乎都是从最后 1 个开始分析,不断倒推前一个,再前一个的情况... 刚刚做的那道,骨牌铺方格,也是如此,先从最后的情况着手分析,最后的骨牌可以横着放和竖着放,在分别推导横原创 2017-11-11 15:51:21 · 346 阅读 · 0 评论 -
HDU - 2050 折线分割平面 ( 递推 较难 )
/* 折线分区域问题,值得重做,主要难度在找规律,但是找规律的过程很难,对于最后递推式子的理解也比较难 这次做时,查了很多题解才找到2个基本上能完全看懂的,但是感觉也只是理解了别人的思路,还没做到自己能独立想出来的程度 因而,值得重做... 查阅资料: http://blog.csdn.net/zugofn/article/details/51592146原创 2017-11-11 23:53:52 · 193 阅读 · 0 评论 -
HDU - 2049 不容易系列之(4)——考新郎 ( 排列组合 错排 )
/* 仔细想想,和 HDU-2048 很相似,只是除了错排以外,还要再用一次组合公式,以计算选对了的 (n-m)个人,可以有多少种取法 本质上是数学题,用错排数乘以组合数得到结果*/#include #define rep(i, k, n) for (int i = k; i < (n); i++)typedef long long LL;using namesp原创 2017-11-11 22:14:04 · 211 阅读 · 0 评论 -
HDU - 2048 神、上帝以及老天爷 ( 错排公式 递推 )
/* 感觉是目前做过的递归题中,最难的一道 原因在于,需要学错排公式,虽然看着别人的解释,也可以理解这个公式,但总觉得好像有些关键点似懂非懂 对于错排,解释得比较清楚的博客: http://blog.csdn.net/yanghui07216/article/details/47018943 在这个博客里,a数组相当于全排列公式,也就是总共的情况 b数组是原创 2017-11-11 21:40:52 · 299 阅读 · 0 评论 -
HDU - 2036 改革春风吹满地
题目链接:点击打开链接/* 算是自己做的第一道计算几何的题目,之前因为还没学到这个知识点,好像是遇到这个知识点就跳过了... 查了许多题解,才明白该怎么写,以及为什么要这么写,其实主要就是一个公式,但是如果不知道这个公式,那就是不会做了... 罗列一下查阅的链接: https://www.cnblogs.com/double-win/archive/原创 2017-11-11 09:17:10 · 493 阅读 · 0 评论 -
HDU - 2035 人见人爱A^B
//一道数论的题目,算是数论里比较简单的题了...回想起来,上次做数论题还是暑假了,自从开始刷书,好像对于各种分类下的题目套路都遗忘了不少,看来刷书和刷分类应该平衡兼顾#include #include #define rep(i, k, n) for (int i = k; i < (n); i++)using namespace std;int A, B;int main(){原创 2017-11-11 09:05:17 · 258 阅读 · 0 评论 -
HDU - 2034 人见人爱A-B
题目链接:点击打开链接//先用STL里的函数写了一次,STL虽然有性能瓶颈,但是真的好用啊!~#include #include #include #define rep(i, k, n) for (int i = k; i < (n); i++)using namespace std;const int N = 1e2 + 5;int n, m, x, a[N]原创 2017-11-10 23:30:16 · 209 阅读 · 0 评论 -
HDU - 6098 Inversion
/* 1. 这题要注意,如果每次都去找,TLE...正确的做法是,将数值和对应的下标作为结构体存起来,并排序,于是每次从后往前找,找到的第一个满足 i%j != 0 的j,即可将和这个下标一组的数值压栈...此外,除和除以是不同的...这题那个奇怪的符号,是不整除的意思,翻译下也就是说,i不是j的因数 2.此题为了方便数据处理(因为题目中的下标是从0开始,压栈时,也要考虑下标间的数值原创 2017-08-20 21:44:42 · 182 阅读 · 0 评论 -
HDU - 6077 Time To Get Up
/*------------------------感慨------------------------ 后来查了一下,大家似乎是把这道题作为水题的... 可我想了很久...确切说,理解题意都用了很久,以及大家博客上的代码,我最初看时还一直看不懂...后来才发现其实没那么难,唉,看来我基础真的太薄弱,做的题目还是太少了,大家口中的水题,我还是得一题题写,稳扎稳打...嗯-----原创 2017-08-21 19:20:47 · 219 阅读 · 0 评论 -
HDU - 6075 Questionnaire
/* 道行太浅了...一开始没看出这是水题 因为如果多组m和k,那么只要输出一组就行了...所以,正确的思路是,想到任何数%2都是1或者0,所以判断输入的所有数据的奇偶个数,如果奇数大于等于偶数个数,就输出 2 1,否则输出 2 0 这次数据有些大,居然忘了cin.tie(0)和cin.sync_with_stdio(false),TLE了一次*/#inclu原创 2017-08-21 19:21:54 · 167 阅读 · 0 评论 -
HDU - 1232 畅通工程
/* 思路来自blog: http://blog.csdn.net/qq_34374664/article/details/53492176 虽然并查集之前写过,但还是不熟,理解也不是太深刻,并查集中的压缩,更是没听过也不会写...好在有上面那个blog,讲解得十分细致 而且这个博主不止这一篇博文这样,我找了几篇他的知识点讲解,都是走的细致易懂风,很适合初学者...嗯,原创 2017-08-27 08:14:37 · 157 阅读 · 0 评论 -
HDU - 2021 贪心
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2021#include #define rep(i, k, n) for (int i = k; i < (n); i++)using namespace std;int n, x;int money[6] = {100, 50, 10, 5, 2, 1};int main(){原创 2017-11-08 15:09:22 · 154 阅读 · 0 评论 -
HDU - 2028 Lowest Common Multiple Plus
题目链接:点击打开链接#include #include #define rep(i, k, n) for (int i = k; i < (n); i++)#define Clear(x, y) memset(x, y, sizeof(x))using namespace std;const int N = 1e3 + 5;int a[N];int getGCD原创 2017-11-08 22:53:21 · 228 阅读 · 0 评论 -
HDU - 2031 进制转换
题目链接:点击打开链接/* 这题,倒是没有技巧上,需要特别提及的,但是要注意细节,细节就是负数和零的处理,如果遗漏,就很容易WA多次 此外,用一个 string 来将字母压栈,会比写 +'0',或者写 -10+'A' 这样的写法好一些,因为很容易忽视ASCII码和数字其实是不同的,一粗心就容易犯错,而,如果直接用一个 string 来处理,一定程度上可以避免出错的可能*原创 2017-11-10 14:46:23 · 195 阅读 · 0 评论 -
HDU - 2033 人见人爱A+B
题目链接:点击打开链接/* 贴这题的目的是为了提醒自己,技无止境,诚惶诚恐 本来以为自己学完了C++以后,用结构体来写,这代码应该够简洁清晰了,结果顺手一搜题解,发现别人的写法更简单... 见:http://blog.csdn.net/erick_who/article/details/43908257 是我陷入思维定势,把事情想复杂了啊! T原创 2017-11-10 21:53:15 · 234 阅读 · 0 评论 -
HDU - 1285 (直接拓扑排序)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=1285题意:给定n个人的m组相对排序关系,求这n个人的拓扑排序(有多种排序情况时,取字典序最小的那种)拓扑排序思路:1. 先将顶点关系,转换为图里的关系,并通过顶点关系,初始化入度数组indegree(注意重边)2. 找到入度为0的点,作为排序起点,若有多个,取序原创 2018-01-27 07:21:26 · 641 阅读 · 0 评论