
ACM_Beginner
Recluse_Ryan Y
研究方向: 生物医疗图像,机器学习,生物信息学,计算机视觉; 中科院计算所 PhD在读
展开
-
HDU 3555 Bomb + HDU 2089 不要62 数位dp入门题目
第一次接触数位dp的问题,在这里记录一下我个人的学习思路,如果能够对大家有什么帮助那就是最好的了。动态规划也是刚刚开始学习,说实话对这种类型的题目现在还没有太适应。。。数位dp通常都是类似这种叙述的问题:给定区间[l , m],求解其中满足(不满足)条件 p 的解集大小。初始化的时候会开一个数组dp[n][10],dp[i][j] 表示第 i 位上为数字 j 并且符合(不符合)条件 p原创 2017-06-18 15:17:25 · 298 阅读 · 0 评论 -
动态规划 ② HDU - 1087 Super Jumping! Jumping! Jumping! (LIS 最大上升子序列)
问题重述:The game can be played by two or more than two players. It consists of a chessboard(棋盘)and some chessmen(棋子), and all chessmen are marked by a positive integer or “start” or “end”. The pl原创 2017-08-30 21:14:38 · 305 阅读 · 0 评论 -
动态规划 ① HDU-2062 Subset Sequence
问题重述:Consider the aggregate An= { 1, 2, …, n }. For example, A1={1}, A3={1,2,3}. A subset sequence is defined as a array of a non-empty subset. Sort all the subset sequece of An in lexicography or原创 2017-08-30 20:57:54 · 415 阅读 · 1 评论 -
HDU-2072 单词数
统计一句只有小写字母和空格的话中有多少个单词,#作为循环输入的跳出条件使用到了C++STL中的set,将每句话中的单词放在一个set中,最后输出set中元素的数目即可;通过循环来检索一句话中单词的数目,str存储每个单词。在while循环中每次都将最后一位置为\0作为字符串结尾。flag判断是否有单词。AC代码如下#includeusing namespace std;#i原创 2017-06-27 22:15:32 · 423 阅读 · 0 评论 -
HDU-2042 不容易系列之二
递归求解,根据题目中的变量和叙述给出递归的关系式AC 代码如下#includeusing namespace std;//#include//#includeint recursion(int left, int count, int total){ if (count == total) { return left; } else { return recu原创 2017-06-14 21:16:42 · 273 阅读 · 0 评论 -
HDU-2092 整数解
水题,可以用两种方法求解:1.将两个方程联立成一个一元二次方程,使用根的判别式进行求解;2.暴力枚举,从-10000枚举到10000,不建议这么做。下面是方法1的AC代码#includeusing namespace std;#include//#includeint main(){ int n, m; while (cin>>n>>m) { if (n ==原创 2017-06-14 20:51:23 · 1705 阅读 · 2 评论 -
HDU-2070 Fibbonacci Number
上来先打表,通过迭代打满前50个,按照输入索引值输出结果即可AC代码#includeusing namespace std;//#includeint main(){ _int64 *fib; int k; fib = new _int64[52]; fib[0] = 0; fib[1] = 1; fib[2] = 1; for (int i = 3; i <=50原创 2017-06-12 20:47:31 · 254 阅读 · 0 评论 -
HDU-2033 人见人爱A+B
水题,取模运算和取整除法即可解决AC代码#include#includeusing namespace std;//#includeint main(){ int ah, am, as, bh, bm, bs; int h, m, s; int n; cin >> n; while (n--) { cin >> ah >> am >> as >> bh >> b原创 2017-06-12 20:28:03 · 283 阅读 · 0 评论 -
HDU_2031 进制转换
模拟问题 使用数组模拟输出的数值,超过10的数位输出字符型AC 代码[code=c#includeusing namespace std;//#includeint str[10000];int main(){ int n, r, i, flag, x; while (cin>>n>>r) { flag = 0; if (n < 0) {原创 2017-06-12 19:59:21 · 223 阅读 · 0 评论 -
HDU - 1722 Cake 抽象最大公约数
感觉被这道题欺负了。。。。非常感谢来自小牛的思路 HDU 1722举个简单的栗子,4和6,切好之后的简图如下:画图不太好看,意思大概够了就可以吧。。。绿线是切4刀,红线切6刀,顺时针从圆心出发切。一共切了10刀,其中两条线(90°,270°)重合,都保留其一即可。这就是所谓的计算公式p+q-gcd(p,q)这道题就解决了。最后附上AC代码,没几行:#incl原创 2017-07-01 20:25:00 · 297 阅读 · 0 评论 -
HDU 1713 相遇周期 — 欧几里得算法与最大公约数,最小公倍数
这个题的叙述有点迷,个人的理解是首先要计算出一天之内转多少圈,然后找出相遇的时候最少要转多少圈。所谓的周期的单位应该是“圈/天”,通过高中物理必修1讲过的单位制可以很容易地去理解这道题。原题目实质上等价于求两个分数的最小公倍数。求最小公倍数的算法如下:首先将两个分数约分至既约分数,随后计算出两个分子的最小公倍数(LCM)赋给最终的分子,计算出两个分母的最大公约数(GCD),最后即可得到结果原创 2017-07-01 19:59:03 · 463 阅读 · 0 评论 -
动态规划 ③ HDU - 1203 I NEED A OFFER! 背包问题+独立事件概率
问题重述:Speakless很早就想出国,现在他已经考完了所有需要的考试,准备了所有要准备的材料,于是,便需要去申请学校了。要申请国外的任何大学,你都要交纳一定的申请费用,这可是很惊人的。Speakless没有多少钱,总共只攒了n万美元。他将在m个学校中选择若干的(当然要在他的经济承受范围内)。每个学校都有不同的申请费用a(万美元),并且Speakless估计了他得到这个学校offer的可能性原创 2017-09-01 14:03:01 · 335 阅读 · 0 评论