自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 HDU2546.饭卡动态规划(01背包:动态规划分支限界回溯

Problem Description 电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额。如果购买一个商品之前,卡上的剩余金额大于或等于5元,就一定可以购买成功(即使购买后卡上余额为负),否则无法购买(即使金额足够)。所以大家都希望尽量使卡上的余额最少。 某天,食堂中有n种菜出售,每种菜可购买一次。已知每种菜的价格以及卡上的余额,问最少可使卡上的余额为多少。 Input 多组数据。对于每组数据: 第一行为正整数n,表示菜的数量。n<=1000。 第二行包括n个正整数,表示每种菜的价

2021-07-24 16:07:19 316

原创 HDU2545树上战争(并查集简要

Problem Description 给一棵树,如果树上的某个节点被某个人占据,则它的所有儿子都被占据,lxh和pfz初始时分别站在两个节点上,谁当前所在的点被另一个人占据,他就输了比赛,问谁能获胜 Input 输入包含多组数据 每组第一行包含两个数N,M(N,M<=100000),N表示树的节点数,M表示询问数,N=M=0表示输入结束。节点的编号为1到N。 接下来N-1行,每行2个整数A,B(1<=A,B<=N),表示编号为A的节点是编号为B的节点的父亲 接下来M行,每行有2个数

2021-07-23 20:10:37 110

原创 欧拉函数,HDU1286找新朋友

剩余类:全体整数按其对m同余的数归为一类 完全剩余系:在每个对模m同余的剩余类选出一个数构成拥有m个元素的集合 简化剩余系:在模m的每个剩余类中取出一个和m互质的数构成的集合      (一个剩余类中的数要么都和m互质要么都不互质) 把对模m的简化剩余系的元素个数成为m的欧拉函数,记为Φ(m) Φ(1)取值是0还是1由题判断。将m分解质因数,令所有质因数为p1、p2…pn Φ(m)=m*∏(1-1/pi) 一个个数去求欧拉函数过慢,有一个较好的筛法: 设arr[11],arr[1]=1,arr[2]=2…a

2021-07-19 17:58:41 184

原创 HDU2523.SORT AGAIN

Problem Description 给你N个整数,x1,x2…xn,任取两个整数组合得到|xi-xj|,(0<i,j<=N,i!=j)。 现在请你计算第K大的组合数是哪个(一个组合数为第K大是指有K-1个不同的组合数小于它)。 Input 输入数据首先包含一个正整数C,表示包含C组测试用例. 每组测试数据的第一行包含两个整数N,K。(1<N<=1000,0<K<=2000) 接下去一行包含N个整数,代表x1,x2…xn。(0<=xi<=2000)

2021-07-17 20:22:59 84

原创 2522.A simple problem (1/n的处理)

Problem Description Zty很痴迷数学问题.。一天,yifenfei出了个数学题想难倒他,让他回答1 / n。但Zty却回答不了_. 请大家编程帮助他. Input 第一行整数T,表示测试组数。后面T行,每行一个整数 n (1<=|n|<=10^5). Output 输出1/n. (是循环小数的,只输出第一个循环节). Sample Input 4 2 3 7 168 Sample Output 0.5 0.3 0.142857 0.005952380 思路

2021-07-17 18:06:01 141

原创 2521.反素数(水题

Problem Description 反素数就是满足对于任意i(0<i<x),都有g(i)<g(x),(g(x)是x的因子个数),则x为一个反素数。现在给你一个整数区间[a,b],请你求出该区间的x使g(x)最大。 Input 第一行输入n,接下来n行测试数据 输入包括a,b, 1<=a<=b<=5000,表示闭区间[a,b]. Output 输出为一个整数,为该区间因子最多的数.如果满足条件有多个,则输出其中最小的数. Sample Input 3 2

2021-07-17 15:54:22 177

原创 2502.月之数(组合题,注意有小坑

Problem Description 当寒月还在读大一的时候,他在一本武林秘籍中(据后来考证,估计是计算机基础,狂汗-ing),发现了神奇的二进制数。 如果一个正整数m表示成二进制,它的位数为n(不包含前导0),寒月称它为一个n二进制数。所有的n二进制数中,1的总个数被称为n对应的月之数。 例如,3二进制数总共有4个,分别是4(100)、5(101)、6(110)、7(111),他们中1的个数一共是1+2+2+3=8,所以3对应的月之数就是8。 Input 给你一个整数T,表示输入数据的组数,接下来

2021-07-17 14:29:20 116

原创 2519.新生晚会(简单的组合题

Problem Description 开学了,杭电又迎来了好多新生。ACMer想为新生准备一个节目。来报名要表演节目的人很多,多达N个,但是只需要从这N个人中选M个就够了,一共有多少种选择方法? Input 数据的第一行包括一个正整数T,接下来有T组数据,每组数据占一行。 每组数据包含两个整数N(来报名的人数,1<=N<=30),M(节目需要的人数0<=M<=30) Output 每组数据输出一个整数,每个输出占一行 Sample Input 5 3 2 5 3 4

2021-07-17 14:24:28 85

原创 HDU1518.Square(剪枝

Problem Description Given a set of sticks of various lengths, is it possible to join them end-to-end to form a square? Input The first line of input contains N, the number of test cases. Each test case begins with an integer 4 <= M <= 20, the numb

2021-07-15 19:20:34 84

原创 1702.ACboy needs your help again!(队列&&栈

Problem Description ACboy was kidnapped!! he miss his mother very much and is very scare now.You can’t image how dark the room he was put into is, so poor ????. As a smart ACMer, you want to get ACboy out of the monster’s labyrinth.But when you arrive at

2021-07-14 18:28:11 64

原创 HDU1029.Ignatius and the Princess IV(一题多解.暴力→算法的4个level up↑

题目传送门 大意:就是输出数字出现超过(N+1)/2次的那位数 看到最后啊(#`O′) 个人理解变化历程:既然要超过超过(N+1)/2那么就一定是最多次!(超内存了啊)→决定舍去结构体用数组的下标=数字的值、数组的值=数字出现的次数→题目强调n是奇数 level 1: #include<stdio.h> #include<string.h> #include<algorithm> const int N=1e7+5; using namespace std; struc

2021-07-14 15:27:52 186

原创 HDU.1282回文数猜想(C++的函数运用)

Problem Description 一个正整数,如果从左向右读(称之为正序数)和从右向左读(称之为倒序数)是一样的,这样的数就叫回文数。任取一个正整数,如果不是回文数,将该数与他的倒序数相加,若其和不是回文数,则重复上述步骤,一直到获得回文数为止。例如:68变成154(68+86),再变成605(154+451),最后变成1111(605+506),而1111是回文数。于是有数学家提出一个猜想:不论开始是什么正整数,在经过有限次正序数和倒序数相加的步骤后,都会得到一个回文数。至今为止还不知道这个猜想是

2021-07-13 20:15:29 575

原创 HDU1068.Girls and Boys(二分图&&匈牙利算法、匹配问题解答!

题目传送门 理解:第一个数字是总人数 接下来的每一行第一个数字是人的编号, 括号内是和多少人谈恋爱过的次数,后面的谈恋爱的对象(酸 分析:找出满足条件的最大集合————集合中没有两个学生有过恋爱关系。没有关系就是独立,要找出最大独立集。 独立集就是,就是一个点集,点集中的各点没有关系。最大独立集就是,点的个数最多的独立集。 最大独立集=n人-最大匹配————为什么减最大匹配?因为最小点集=最大匹配,最大匹配牵扯到匈牙利算法 匈牙利算法简单的来说:不管后面怎么样遇到能匹配的就匹配,先到先得,但是如果后面的人与

2021-07-11 14:26:04 125

原创 HDU1518

#include<stdio.h> #include<string.h> #include<iostream> #include<algorithm> using namespace std; int t,a[25],b[25],n,sum; bool cmp(int a ,int b) { return a>b;//降序 } bool dfs(int coun,int num,int goal) { if(coun==3)

2021-06-04 18:34:47 81

原创 HDU.1250Hat‘s Fibonacci详解啊!!!!!

HDU1250传送门 很明显,暴力相加一定会超范围啊!达咩达咩哟!! 采用数组, 小技巧划重点:每个数组元素存储八位数,由此进位,可以提高效率!(还是不了解的话看看代码就明白啦 在这里插入代码片 ...

2021-05-27 21:42:08 76

原创 HDU1443.Joseph(三种解法)

题目链接:http://acm.hdu.edu.cn/diy/contest_showproblem.php?pid=1010&cid=37469 首先解释约瑟夫规则: 假设有6个人(人数即为2k),从1数到3,数到3的人要死(这个数即m) 大家站成一排如下循环:(“×”就是被处决了) 1 2 3 4 5 6 1 2 × 4 5 6 1 2 × 4 5 × 1 2 × × 5 × 1 × × × 5 × 1 × × × × × 大意:总共有2k个人,前k个是好人,后k个是坏人。在取决到好人之前先取决

2021-03-22 20:41:40 306

原创 HDU1052.Tian Ji -- The Horse Racing(贪心哦~

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1052 大意: 田忌赛马规则,输入n代表每人有n匹马,第一/二行代表田忌/国王的马的速度,每次一匹马进行比赛,败方给赢方200 思路: 贪心算法,首先把每个人的马按速度从低到高排序,然后先比较最快的马的速度,如果对方更高就用自己的慢马去比;如果对方小就算胜利然后拿第二快的马比较;如果相等就看最慢的马的速度比较,文字表述比较繁琐,代码有详细解释。这样循环比完所有马即可得到最大的赢面。 #include<std

2021-03-21 20:46:20 166 1

原创 HDU.1087Super Jumping! Jumping! Jumping!

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1087 大意:在要走下一步的比上一步数字更大的情况下,使所走过的数字加起来能’最大’。 思路:使用dp数组动态规划,dp[i]中i为第i个棋手,dp[i]为走到第i个棋手时的最大值。 取dp[i]中的最大值即为输出结果。算法思路比较简单详情看代码注解。 #include<stdio.h> #include<string.h> #include<algorithm> #defin

2021-03-15 20:26:11 87

原创 HDU2602.Bone Collector

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2602 大意:有多个骨头,不同骨头的体积与骨头价值不一样。用规定容量带走最高的骨头价值。 思路:动态规划 借鉴背包问题,与s表的详细变化过程可得结果 (当包的容积为指定数时,比较当前容积是否看装下当前这个骨头,若能装下则用包内的剩余体积去比较上一层的骨头是否能装下…很难说清楚,需要结合表的变化及代码一步一步推理即能理解,其他解释以及在代码内标注) #include<string.h> #include

2021-03-14 20:38:58 228

原创 HDU1023.I NEED A OFFER!

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1203 动态规划问题 思考:至少拿到一个offer就是可以拿到1,2,3…个offer的情况,而该情况是 1-不拿offer的情况。 求最大拿offer的概率==求最小不拿offer的概率 具体运算可以看dp变化表(适用于本题样品) #include<stdio.h> #include<string.h> #include<algorithm> using namespac

2021-03-14 19:48:27 98

原创 HDU2007.平方和与立方和

题目连接:http://acm.hdu.edu.cn=2007 题意:输入两个数字,分别求这段数字间的偶数平方和与奇数立方和 #include<stdio.h> int main() { int n,m; while(~scanf("%d %d",&n,&m)) { int temp; if(n>m)//保证n<m { temp=n; n=m;

2021-03-08 20:20:20 53

原创 HDU2544.最短路

题目链接:HDU2544 Dijkstra: 从起点出发,不断更新能够到达的点的最短距离dis. 每扩展一个点就重新更新下其他所有点到起点的最短距离dis,这个过程就是“松弛” #include<stdio.h> #include<string.h> #define N 105 #define inf 0x3f3f3f3f int n,m; int mapp[N][N],dis[N],vis[N]; void Dis() { for(int i=1;i<=n;i++)

2021-02-05 16:55:54 196

原创 HDU2212.DFS

题目链接:HDU2212 #include<stdio.h> int factorial(int i) { int pro=1; while(i>0) { pro*=i; i--; } return pro; } int main() { int n=1; //while(n!=2147483647+1)用原数必定超时 /*逆向思维各个位上阶乘的和 是最大是9*9! 这样999999

2021-02-04 00:22:14 83

原创 HDU2178.猜数字

解析: 2次幂问题 每猜一次范围减半所以底数是2 在1到m间,最多log2(m)+1(取整)次, (m为1时log2(m)=0,最少要猜一次,所以要加1) 所以→m=2n-1. 所以→猜n次能猜到的最大数的数为2n-1. 即在数1到2n-1间,都可以在n次内猜出来. 题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=2178 #include <stdio.h> #include <math.h> int main(void) {

2021-02-03 23:29:10 114

原创 HDU1047.Integer Inquiry(大数求和)

题目连接:HDU1047 详细解析见注释 #include<stdio.h> #include<stdlib.h> #include<string.h> #include<iostream> #define N 105 int main() { int n; scanf("%d",&n); while(n--) { int sum[N];//大数的和(输出的答案) memset(sum,

2021-02-02 20:41:24 134

原创 POJ1306.Combinations

解题见代码注释 题目链接:http://poj.org/problem?id=1306 #include<stdio.h> #include<stdlib.h> /* 公式:C(n,m)=n!/[m!(n-m)!] A(n,m)=n(n-1)(n-2)...(n-m+1)=n!/(n-m)! C(n,m)=A(n,m)/m=n(n-1)(n-2)...(n-m+1)/m! */ int main() { int n,m,j; double s

2021-01-30 20:06:54 93

原创 HDU1032

#include<stdio.h> #include<string.h> int main() { int a,b,t,num; while(~scanf("%d %d",&a,&b)) { printf("%d %d ",a,b);//提前输出a,b以免出现对调情况输成b,a int maxx=0; if(a>b) { int tt=a;

2021-01-24 21:26:02 191

原创 HUD1513.

题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=1513 #include<stdio.h> #include<string.h> #include<stdlib.h> #define N 5005 int main() { int n,dp[2][N]; char a[N],b[N]; while(~scanf("%d",&n)) { scanf("%s",a);

2021-01-21 01:21:45 184

原创 HDU1080&&POJ1051.To the Max

题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=1081

2021-01-19 18:52:59 157 1

原创 HDU2030.汉字统计

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2021-01-12 22:07:03 135

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除