![](https://img-blog.csdnimg.cn/20190927151124774.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
算法编程(C语言)
里边包含贪心、动态规划、递归、排序、树等常见oj题目类型
阿里斯顿k
这个作者很懒,什么都没留下…
展开
-
奇妙的塔(汉诺塔问题)
奇妙的塔用1,2,…,n表示n个盘子,称为1号盘,2号盘,…。号数大盘子就大。经典的汉诺塔问 题经常作为一个递归的经典例题存在。可能有人并不知道汉诺塔问题的典故。汉诺塔来源于 印度传说的一个故事,上帝创造世界时作了三根金刚石柱子,在一根柱子上从下往上按大小 顺序摞着64片黄金圆盘。上帝命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱 子上。并且规定,在小圆盘上不能放大...原创 2018-08-02 15:08:12 · 342 阅读 · 0 评论 -
又见斐波那契数列(大数的应用)
题目描述 大家都知道斐波那契数列吧?斐波那契数列的定义是这样的f0=0;f1=1;fi=fi−1+fi−2f0=0;f1=1;fi=fi−1+fi−2 f0 = 0; f1 = 1; fi = fi-1 + fi-2现在给你一个数x,聪明的你一定知道这是斐波那契数列中的第几项。 (数据保证x一定有对应的项y,且 2 <= y < 1e4)输入 第一行一个整数T,表示测试组...原创 2018-07-30 16:42:52 · 1113 阅读 · 0 评论 -
将文件数据读入结构体
将文件数据读入结构体#include <stdio.h>#include <string.h>#include <stdlib.h>struct infostu{ char no[20]; //学号 char name[20]; char sex[4]; int age; char major[20]; //专业班级 };int main(){ int i=0,j; struct infostu student[500转载 2022-03-20 13:28:54 · 3695 阅读 · 0 评论 -
折线分割平面于直线分割平面(最大解)
折线分割平面我们看到过很多直线分割平面的题目,今天的这个题目稍微有些变化,我们要求的是n条折线分割平面的最大数目。比如,一条折线可以将平面分成两部分,两条折线最多可以将平面分成7部分,具体如下所示。Input 输入数据的第一行是一个整数C,表示测试实例的个数,然后是C 行数据,每行包含一个整数n(0&amp;amp;lt;n&amp;amp;lt;=10000),n(0&amp;amp;lt;n&amp;amp;lt;=100原创 2018-07-26 10:44:06 · 615 阅读 · 0 评论 -
分蛋糕(求满足条件的最小偶数)
EkkaDokka(要求N是奇数M是偶数并且M还要最小,那么M就从2开始不断+2,判断W/2是否为奇数,如果满足记录此时的M,停止循环)Ekka and his friend Dokka decided to buy a cake. They both love cakes and that’s why they want to share the cake after buying ...原创 2018-07-29 10:51:54 · 227 阅读 · 0 评论 -
Trailing Zeroes (III)
## Trailing Zeroes (III) ##* (注意题中让求的是末尾连续0的个数为Q,不是数中包括的所有0的个数)*You task is to find minimal natural number N, so that N! contains exactly Q zeroes on the trail in decimal notation. As you know N!...原创 2018-07-28 14:57:46 · 112 阅读 · 0 评论 -
大数求模
Large Division(大数求模)Given two integers, a and b, you should check whether a is divisible by b or not. We know that an integer a is divisible by an integer b if and only if there exists an integer c ...原创 2018-07-25 07:26:23 · 307 阅读 · 0 评论 -
欧拉函数的应用
欧拉函数:在数论,对正整数n,欧拉函数是小于n的正整数中与n互质的数的数目(φ(1)=1)。此函数以其首名研究者欧拉命名(Euler’s totient function),它又称为Euler’s totient function、φ函数、欧拉商数等。 例如φ(8)=4,因为1,3,5,7均和8互质。## Relatives ##Given n, a positive integer...原创 2018-07-25 12:51:21 · 1028 阅读 · 0 评论 -
尺取法的应用
They Are Everywhere ## 他们到处都是Sergei B., the young coach of Pokemons, has found the big house which consists of n flats ordered in a row from left to right. It is possible to enter each flat fro...原创 2018-07-29 08:44:28 · 310 阅读 · 0 评论 -
大数除法
大数除法题意:如果a能整除b输出 ‘divisible’ 否则输出 ‘not divisible’.Given two integers, a and b, you should check whether a is divisible by b or not. We know that an integer a is divisible by an integer b if and ...原创 2018-07-29 10:23:18 · 219 阅读 · 0 评论 -
sort排序或者set的应用
Stages(水题)Natasha is going to fly to Mars. She needs to build a rocket, which consists of several stages in some order. Each of the stages is defined by a lowercase Latin letter. This way, the rocke...原创 2018-07-28 14:45:16 · 1458 阅读 · 0 评论 -
3的幂的模
3的幂的和 ##(51NOD-1013)求:3^0 + 3^1 +…+ 3^(N) mod 1000000007Input 输入一个数N(0 &lt;= N &lt;= 10^9)Output 输出:计算结果Sample Input 3Sample Output 40注释:(30+31+32+33+34)(30+31+32+33+34)(3^...原创 2018-07-29 09:36:44 · 413 阅读 · 0 评论 -
素数回文
Problem Descriptionxiaoou33对既是素数又是回文的数特别感兴趣。比如说151既是素数又是个回文。现在xiaoou333想要你帮助他找出某个范围内的素数回文数,请你写个程序找出 a 跟b 之间满足条件的数。(5 &lt;= a &lt; b &lt;= 100,000,000);Input这里有许多组数据,每组包括两组数据a跟b。Output对每一组数据,按从小...原创 2018-10-07 16:52:16 · 459 阅读 · 0 评论 -
矩形 2056
RectanglesTime Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 19475 Accepted Submission(s): 6316Problem...转载 2019-04-15 22:02:54 · 105 阅读 · 0 评论 -
【洛谷】P1067 多项式输出
原题链接:P1067 多项式输出代码如下:#include <bits/stdc++.h>using namespace std; const int MAX = 105;int n;int num[MAX]; int main() { int flag; cin >> n; ...转载 2018-11-03 08:56:40 · 102 阅读 · 0 评论 -
HDU 几何问题
甜甜从小就喜欢画图画,最近他买了一支智能画笔,由于刚刚接触,所以甜甜只会用它来画直线,于是他就在平面直角坐标系中画出如下的图形:甜甜的好朋友蜜蜜发现上面的图还是有点规则的,于是他问甜甜:在你画的图中,我给你两个点,请你算一算连接两点的折线长度(即沿折线走的路线长度)吧。Input第一个数是正整数N(≤100)。代表数据的组数。每组数据由四个非负整数组成x1,y1,x2,y2;所有的数都...原创 2019-04-27 21:37:49 · 166 阅读 · 0 评论 -
2058(等差求和)
HDU 2058 The sum problem等差求和公式:Sn=(a1+aN)*n/2 =(a1+a1+d(n-1))*n/2 =a1*n+d(n-1)*n/2;因为此处公差d=1,所以Sn=a1*n+(n-1)*n/2,当从第一项开始算起时(因本题首项为1...转载 2019-04-16 15:29:04 · 233 阅读 · 0 评论 -
HDU 汉诺塔III
汉诺塔IIIProblem Description约19世纪末,在欧州的商店中出售一种智力玩具,在一块铜板上有三根杆,最左边的杆上自上而下、由小到大顺序串着由64个圆盘构成的塔。目的是将最左边杆上的盘全部移到右边的杆上,条件是一次只能移动一个盘,且不允许大盘放在小盘的上面。现在我们改变游戏的玩法,不允许直接从最左(右)边移到最右(左)边(每次移动一定是移到中间杆或从中间移出),也不允许大盘...原创 2019-04-21 14:09:51 · 220 阅读 · 0 评论 -
匈牙利算法 (二分匹配法)
过山车Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 10683 Accepted Submission(s): 4699Problem DescriptionRP...转载 2019-04-19 16:34:39 · 368 阅读 · 0 评论 -
单词数(set,map)
Problem Descriptionlily的好朋友xiaoou333最近很空,他想了一件没有什么意义的事情,就是统计一篇文章里不同单词的总数。下面你的任务是帮助xiaoou333解决这个问题。Input有多组数据,每组一行,每组就是一篇小文章。每篇小文章都是由小写字母和空格组成,没有标点符号,遇到#时表示输入结束。Output每组只输出一个整数,其单独成行,该整数代表一篇文章里不同单...原创 2019-04-26 22:02:57 · 138 阅读 · 0 评论 -
A Secret()
A SecretTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 256000/256000 K (Java/Others)Total Submission(s): 2423 Accepted Submission(s): 892Proble...转载 2018-10-21 15:17:24 · 560 阅读 · 0 评论 -
Oulipo hdu1686
OulipoProblem DescriptionThe French author Georges Perec (1936–1982) once wrote a book, La disparition, without the letter ‘e’. He was a member of the Oulipo group. A quote from the book:Tout avai...原创 2018-10-21 15:27:56 · 101 阅读 · 0 评论 -
HDU 2068(错排)
RPG的错排Problem Description今年暑假杭电ACM集训队第一次组成女生队,其中有一队叫RPG,但做为集训队成员之一的野骆驼竟然不知道RPG三个人具体是谁谁。RPG给他机会让他猜猜,第一次猜:R是公主,P是草儿,G是月野兔;第二次猜:R是草儿,P是月野兔,G是公主;第三次猜:R是草儿,P是公主,G是月野兔;…可怜的野骆驼第六次终于把RPG分清楚了。由于RPG的带动,做ACM的女...原创 2019-04-24 21:56:28 · 140 阅读 · 0 评论 -
HDU 2054
Problem DescriptionGive you two numbers A and B, if A is equal to B, you should print "YES", or print "NO".Inputeach test case contains two numbers A and B.Outputfor each case, if A is equal to B...转载 2019-04-14 21:31:35 · 132 阅读 · 0 评论 -
HDU 2069
hdu 2069 Coin Change(完全背包) Coin ChangeTime Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 16592 Accepted Submission(s): 565...转载 2019-04-26 12:58:57 · 990 阅读 · 1 评论 -
数据结构(P110)
正数前置设任意n个整数存放于数组A[1···n]中,请将所有正数排在所有负数前面(要求时间复杂度为O(n))。#include<stdio.h>void Arrange(int A[],int t)//n个整数存于数组A中,本算法将数组中所有正数排在所有负数的前面{ int i=1,j=t,x; while(i<j) { while(i<j &...原创 2018-10-30 22:10:16 · 208 阅读 · 0 评论 -
图的dfs递归(非递归)遍历和bfs遍历(邻接表)
1.深度优先遍历是连通图的一种遍历策略.其基本思想如下:设x是当前被访问的顶点,在对x做过访问的标记之后,选择一条从x出发的未检测过的边(x,y),若发现顶点y已经访问过了,则重新选择另一条从x出发的未检测过的边,否则沿边(x,y)到达未曾访问过的y,对y访问并将其标记为已访问过,然后从y开始搜索,直到搜索完从y出发的所有路径,即访问完所有从y出发可达的顶点之后,才回溯到顶点x,并且再选择一...转载 2018-11-02 19:50:10 · 911 阅读 · 0 评论 -
HDU 2032 杨辉三角
Problem Description还记得中学时候学过的杨辉三角吗?具体的定义这里不再描述,你可以参考以下的图形:11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1Input输入数据包含多个测试实例,每个测试实例的输入只包含一个正整数n(1<=n<=30),表示将要输出的杨辉三角的层数。Output对应于每一个输入,请输出相应层数...原创 2019-04-14 16:49:51 · 164 阅读 · 0 评论 -
HDU 小兔的棋盘(卡特兰数)
小兔的棋盘Problem Description小兔的叔叔从外面旅游回来给她带来了一个礼物,小兔高兴地跑回自己的房间,拆开一看是一个棋盘,小兔有所失望。不过没过几天发现了棋盘的好玩之处。从起点(0,0)走到终点(n,n)的最短路径数是C(2n,n),现在小兔又想如果不穿越对角线(但可接触对角线上的格点),这样的路径数有...转载 2019-04-22 23:00:25 · 211 阅读 · 0 评论 -
HDU 汉诺塔IV(递推)
Description还记得汉诺塔III吗?他的规则是这样的:不允许直接从最左(右)边移到最右(左)边(每次移动一定是移到中间杆或从中间移出),也不允许大盘放到小盘的上面。xhd在想如果我们允许最大的盘子放到最上面会怎么样呢?(只允许最大的放在最上面)当然最后需要的结果是盘子从小到大排在最右边。&n...转载 2019-05-06 22:30:52 · 211 阅读 · 0 评论 -
HDU 2059(dp)
龟兔赛跑Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Problem Description据说在很久很久以前,可怜的兔子经历了人生中最大的打击——赛跑输给乌龟后,心中郁闷,发誓要报仇雪恨,于是躲进了杭州下沙某农业园卧薪尝胆潜心修炼...转载 2019-04-16 17:09:21 · 128 阅读 · 0 评论 -
2018HPU暑期集训第四次积分训练赛 K - 方框 题解(图形打印)
2018HPU暑期集训第四次积分训练赛 K - 方框 题解(图形打印) 思路分析:题目已经明确透露了这道题的解法:就是画框。当 输入的边长&amp;nbsp;&amp;nbsp;的话,就表示可以在内层继续嵌套一个方框。废话就不多说了,直接上代码吧!代码如下:#include &amp;lt;iostream&amp;gt;#include &amp;lt;algorithm&转载 2018-11-03 08:26:51 · 173 阅读 · 0 评论 -
Crazy Rows(2009 Round2 A)
ProblemYou are given an N x N matrix with 0 and 1 values. You can swap any two adjacent rows of the matrix.Your goal is to have all the 1 values in the matrix below or on the main diagonal. That is,...原创 2019-09-01 16:35:17 · 205 阅读 · 0 评论