![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
带有一定简单算法或技巧的编程题
gentle...
悟已往之不谏,知来者之可追。
展开
-
青蛙跳台阶问题
青蛙跳台阶问题题目一:一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个n级的台阶总共有多少种跳法?思路:最后一跳有两种情况1.跳两级台阶,则前面有 f(n-2)种跳法2.跳一级台阶,则前面有f(n-1)种跳法则一共有 f(n) = f(n-1) + f(n-2)种跳法依次往前递归只需知道 f(1) 和 f(2) 的值即可易知 f(1) = 1 , f(2) =...原创 2019-02-15 14:25:26 · 188 阅读 · 0 评论 -
贪心算之时间安排问题
#include<stdio.h>#include <iostream>#include <algorithm>#include<string.h>#include<math.h>using namespace std;struct example{ i原创 2019-03-08 20:51:52 · 466 阅读 · 0 评论 -
hdu 1018 Big Number
hdu 1018 Big NumberIn many applications very large integers numbers are required. Some of these applications are using keys for secure transmission of data, encryption, etc. In this problem you are g...原创 2019-02-26 20:56:29 · 186 阅读 · 0 评论 -
无向图最短路径问题 Dijkstra算法
无向图最短路径问题思路:具体的思路,半天也说不清楚,所以我在这里附上视屏讲解链接,里面的讲解十分清晰。[Djkstra算法讲解](http://www.iqiyi.com/w_19ru9nrxol.html代码实现及讲解#include <iostream>#include<stdio.h>#include<math.h>#include&原创 2019-03-02 14:50:13 · 4981 阅读 · 4 评论 -
hdu 2045 不容易系列之(3)—— LELE的RPG难题
hdu 2045 不容易系列之(3)—— LELE的RPG难题人称“AC女之杀手”的超级偶像LELE最近忽然玩起了深沉,这可急坏了众多“Cole”(LELE的粉丝,即"可乐"),经过多方打探,某资深Cole终于知道了原因,原来,LELE最近研究起了著名的RPG难题:有排成一行的n个方格,用红(Red)、粉(Pink)、绿(Green)三色涂每个格子,每格涂一色,要求任何相邻的方格不能同色,且首...原创 2019-02-20 21:47:39 · 157 阅读 · 0 评论 -
hdu 2563 统计问题
hdu 2563 统计问题在一无限大的二维平面中,我们做如下假设:1、 每次只能移动一格;2、 不能向后走(假设你的目的地是“向上”,那么你可以向左走,可以向右走,也可以向上走,但是不可以向下走);3、 走过的格子立即塌陷无法再走第二次;求走n步不同的方案数(2种走法只要有一步不一样,即被认为是不同的方案)。Input首先给出一个正整数C,表示有C组测试数据接下来的C行,每行...原创 2019-03-01 11:36:20 · 406 阅读 · 0 评论 -
hdu 1002 A + B Problem II
hdu 1002 A + B Problem III have a very simple problem for you. Given two integers A and B, your job is to calculate the Sum of A + B.Input The first line of the input contains an integer T(1<=T&l...原创 2019-02-24 14:46:02 · 149 阅读 · 0 评论 -
hdu 1292 "下沙野骆驼"ACM夏令营
hdu 1292 "下沙野骆驼"ACM夏令营大家都知道,杭电计算机学院为了吸引更多的学生参与到程序设计竞赛中去,从2005年秋天,开始举行月赛,并一直坚持到了现在。事实表明,这项措施的效果还是很明显的,现在坚持参加训练的学生比以前有了较大幅度的增长,整体水平也有了较大的提高。为了更好的促进这项竞赛的发展,计算机学院又有了新的计划:准备在每年的暑假举行一个为期半个月的程序设计夏令营活动,活动的...原创 2019-02-17 21:45:15 · 204 阅读 · 0 评论 -
杭电1286——欧拉函数——找新朋友
杭电1286——欧拉函数——找新朋友新年快到了,“猪头帮协会”准备搞一个聚会,已经知道现有会员N人,把会员从1到N编号,其中会长的号码是N号,凡是和会长是老朋友的,那么该会员的号码肯定和N有大于1的公约数,否则都是新朋友,现在会长想知道究竟有几个新朋友?请你编程序帮会长计算出来。Input第一行是测试数据的组数CN(Case number,1&amp;amp;amp;amp;lt;CN&amp;amp;amp;amp;lt;10000),接着有CN行正整...原创 2019-02-16 22:58:02 · 497 阅读 · 0 评论 -
杭电1285——拓扑排序——确定比赛名次
拓扑排序——确定比赛名次有N个比赛队(1&amp;lt;=N&amp;lt;=500),编号依次为1,2,3,。。。。,N进行比赛,比赛结束后,裁判委员会要将所有参赛队伍从前往后依次排名,但现在裁判委员会不能直接获得每个队的比赛成绩,只知道每场比赛的结果,即P1赢P2,用P1,P2表示,排名时P1在P2之前。现在请你编程序确定排名。Input输入有若干组,每组中的第一行为二个数N(1&amp;lt;=N&amp;lt;=5...原创 2019-02-16 19:10:15 · 246 阅读 · 0 评论 -
魔法矩阵
魔法矩阵魔法矩阵的规律:1.将1放在第一行中间一列2.从2开始直到N*N为止各数一次按下列规则存放:每一个数存放的行比前一个数的行数减1,列数加13.如果上一个数的行数为1,则下一个行数为N,列数加1;如果上一个数的列数为N时,下一个列数为1,行数减14.如果按上面的规则确实的位置上已有数,或上一个数是第一行第N列时,则把下一个数在上一个数的下面代码实现:#include&lt...原创 2019-02-04 09:35:46 · 1523 阅读 · 0 评论 -
复杂A+B问题(两个很大的数相加问题)
复杂A+B问题(两个很大的数相加问题)思路:用字符串实现*1.先将A和B以字符串的形式输入。2.调用字符串函数求A和 B的长度3.找出长的字符串数组作为存放和的数组4.将A和B逆序——一位一位从后往前加5.定义变量one——表示是否要进位6.定义变量sum——存放临时和(比如:5+9=14)7.求sum = str1[i]-‘0’+str2[i]-‘0’+one; //将字符数...原创 2019-02-04 10:01:06 · 878 阅读 · 0 评论 -
将一个很大的数按某个数字剪切并将剪切后的数排序
将一个很大的数按某个数字剪切并将剪切后的数排序思路:1.将这个数以字符串的形式输入2.定义一个int型数组用来存储剪切后的数3.定义一个变量sum来存储剪切片段的数字,并将其移入数组中其中sum = sum10+str[i] - ‘0’;也就是在一个数的末尾添加一个数,这个数变为 a = a10 + 添加的数;4.循环遍历字符串,遇到非剪切数字将其保存在sum中,剪切数字则将sum保存...原创 2019-02-05 11:44:04 · 227 阅读 · 0 评论 -
读入两个小于10000的正整数A和B,计算A+B。需要注意的是:如果A和B的末尾K(不超过8)位数字相同,请直接输出-1
读入两个小于10000的正整数A和B,计算A+B。需要注意的是:如果A和B的末尾K(不超过8)位数字相同,请直接输出-1#include&lt;stdio.h&gt;#include&lt;string.h&gt;int main(){&nbsp;&nbsp;&nbsp; int A,B;&nbsp;&nbsp;&nbsp;原创 2019-02-07 12:38:44 · 5092 阅读 · 1 评论 -
最大子列问题
最大子列问题思路:1.定义ThisSum和MaxSum两个变量2.用ThisSum存储遍历数组的和3.如果ThisSum&gt;MaxSum,则最大和变为ThisSum,将ThisSum赋值MaxSum4.如果ThisSum&lt;0,则舍去,ThisSum=0代码实现:#include&lt;stdio.h&gt;int main(){ int N; while...原创 2019-02-08 19:19:53 · 141 阅读 · 0 评论 -
C语言 计算阶乘 防止溢出方法
C语言 计算阶乘防止溢出方法思路:1.用数组存储每一位2.将每一位都与1-n中的每一个数相乘3.计算进位和本位数4.处理最后的进位情况#include&amp;amp;lt;stdio.h&amp;amp;gt;#define MAX 10000int main(){ int n; while (scanf(&amp;quot;%d&amp;quot;,&amp;amp;a原创 2019-02-08 21:20:18 · 9217 阅读 · 1 评论 -
一个n位的数,去掉其中的k个数,使剩下的数最小
一个n位的数,去掉其中的k位,问怎样去使得留下来的(n-k)位数按原来的前后顺序组成的数最小思路一:分析:求一共n位,求其中的m位组成的数最小。那么这个m位的数,最高位应该在原数的最高位到第m位区间找,要不然就不能当第m位了。比如一个数:8 4 7 9 6 3 5 2n = 8, k = 3;1.第一个数应在 8 —— 3 间(含8和3)选最小的,应为32.第二个数应在5——2 间(含...原创 2019-02-11 19:57:03 · 3729 阅读 · 1 评论 -
数字三角形 给定一个由n行数字组成的数字三角形,试设计一个算法,计算出从三角形的顶至底的一条路径,使该路径经过的数字总和最大(每一步只能从一个数走到下一层上和它最近的左边的数或者右边的数)。
给定一个由n行数字组成的数字三角形,试设计一个算法,计算出从三角形的顶至底的一条路径,使该路径经过的数字总和最大(每一步只能从一个数走到下一层上和它最近的左边的数或者右边的数)。题目:问题: 给定一个由n行数字组成的数字三角形,如下图所示: 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 试设计...原创 2019-02-14 20:37:02 · 11424 阅读 · 3 评论 -
寻找最大子序列
寻找最大子序列using namespace std;#define Max 100000int a[100]; //用来存储序列数int dp[100]; //用来存储长度为i时 的结尾元素的值,也就是在该长度时的最大值int main(){ int n; cin >> n; int i; for (i=0;i<n;...原创 2019-03-23 21:06:04 · 475 阅读 · 0 评论