自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 打印全排列

输入n,字典序输出1~n的全排列。 n>=1, n<=9例如:n=3输出:123132213231312321#include <iostream>using namespace std;int n;int a[10];bool vis[10];void dfs(int w) { if (w == n) //第n位 即之前已赋值...

2019-08-16 17:07:15 216

原创 HDU 4152 DFS

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4152题目解析:DFS或递归#include <cstdio> //dfs#include <cstring>#define M 25int a[M], b[M], mp[M][M], n, m, vis[M], ans;bool judge() { for...

2019-08-15 21:45:55 121

原创 HDU 1735 字数统计

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1735题目解析:先不考虑段落个数M的限制,只要可能是分段就分段,统计出最少缺失字数,然后看实际段落数X 如果大于M, 增加 X-M个段落缺失的字数(按段落间空格个数从少到多挑选)#include <stdio.h>#include <stdlib.h>#include ...

2019-08-15 21:41:28 109

原创 HDU 1224 DFS

#include <algorithm>#include <cstdio>#include <cstring>#include <iostream>#include <memory>using namespace std;const int maxn = 200;int G[maxn][maxn]; //储存图int i...

2019-08-11 18:13:02 94

原创 HDU 1728 优化的BFS

#include <ctype.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <algorithm>#include <iostream>#include <queue>#include <stack>...

2019-08-11 18:10:21 90

原创 HDU 6025 GCD

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6025题目解析:求最大公约数GCD,辗转相除法int gcd(int a, int b) { return b == 0 ? a : gcd(b, a % b); }定义数组a存储原始数据数组;定义数组pre存储前i个数最大公约数,pre[i] 代表前面 i 个数的最大公约数;...

2019-08-11 17:04:31 91

原创 HDU 5707 Combine String 动态规划

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5707题目解析:按题意,三个字符串 a,b,c 求c是否能由a,b按顺序构成定义数组 dp[2000][2000],dp[i][j] 代表用字符串a的前i位和字符串b的前j位,可以组成字符串c的前i+j位则递推公式(状态转换公式):dp[i][j] = ( dp[i-1][j] &amp...

2019-08-10 15:50:15 113

原创 HDU 4151 The Special Number 打表+二分

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4151题目解析:先打表求出所有特殊数存到数组res[1000000]中,然后对于每一个数在表中进行二分查找,找到的位置即小于等于该数的特殊数个数。#include <iostream>using namespace std;int res[1000000];int main...

2019-08-10 10:36:48 173

原创 HDU 4149 Magic Potion 位运算

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4149题目解析:已知 xi^m , i从1到8,∑(xi) ^ m , 求m;位运算,按位异或,从右边最低位开始推测m各位的情况;对于第b位,如果m在b位的值是0,则异或的结果不变,算出8各xi^m的值在b位之和的情况,看与∑(xi) ^ m 在b位的值是否相符,不相符则m在b位的值是1;递...

2019-08-09 17:38:48 142

原创 HDU 4148 Length of S(n) 找规律

题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4148S(1)=1,S(2)=11,S(3)=21,S(4)=1211,S(5)=111221,S(6)=312211,找规律 后一行由前一行推出S(5) 由 3个1,2个2,1个1组成,所以S(6)=313311继续推 S(7) = 13112321网上有很多精简巧妙的算法,为了...

2019-08-09 14:53:18 91

原创 HDU 1729 Stone Game, Nim博弈

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1729Nim博弈解析:https://blog.csdn.net/haha294182852/article/details/77572639/*n个瓶子,每个瓶子里面有一些石头,每次向瓶子里面放石头的数量不能超过瓶子中已经存在的石头数量的平方。很容易看出是“组合游戏和”,因此只需要求出每个瓶子...

2019-08-03 16:22:45 84

原创 HDU 1496 Equations

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1496题目解析:直接暴力解决时间复杂度为 100的四次方,会超时;利用hash,将时间复杂度降低到100的二次方,空间换时间;#include <stdio.h>#include <string.h>/** * [-100,100] = 16*[1-100] 组...

2019-08-03 16:20:23 54

原创 HDU 1264 Counting Squares

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1264题目解析:给出矩形对角线两个坐标,可以推出矩形左下角和右上角坐标;用hash二维数组存储每个正方形是否被覆盖到,覆盖到标记为1,用于去重;从左下角开始遍历每行的正方形到右上角为止,对于覆盖到的正方形,假设正方形左下角坐标 ( i, j ),则将 hash[i][j] 设置为 1;最后遍历...

2019-08-03 16:14:59 66

原创 HDU 1256 画8

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1256题目解析:上半部分和下半部分共用一条边所以设总高度 h,(h+1)/2 + (h+1)%2 是下半部分高度(含公共边)(h+1)/2 是上半部分高度(含公共边)#include <iostream>using namespace std;int main() { ...

2019-08-03 16:09:22 53

原创 HDU 4145 覆盖敌人最小成本

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4145题目解析: 定义一个结构体存储敌人到两个塔的距离,按到塔A的距离排序,从塔A覆盖所有敌人开始遍历,直到塔A不覆盖敌人,算出各个情况下塔B的成本#include<iostream>#include<algorithm>using namespace std;stru...

2019-08-03 16:02:33 110

原创 HDU 3363 冰糖葫芦

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3363题目解析:首先如果两种水果可以平分,肯定在2刀内;推理:冰糖葫芦上有两种水果 H和T,当且仅当H和T都为偶数时才能将冰糖葫芦分成两份,每份两种水果H、T个数相等;我们把冰糖葫芦首尾连接,看成一个圆,圆上有H、T两种,当H、T都为偶数时,我们只看其中一种水果 假设看H,圆上有偶数个H,将圆...

2019-08-03 15:52:16 176

原创 HDU 1736 美观化文字

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1736简单程序,注意判断英文引号变成中文时左右的区分中文引号两个字符,所以用string temp 存储两个字符相连后的结果比较//输入:“"(注意左侧是中文的左双引,右边是英文的双引号)//输出:“”(都是中文的字符,左双引号以及右双引号)#include <stdio.h>...

2019-08-03 15:35:54 184

原创 HDU 1497 简单图书管理系统

没有算法简单程序题;定义一个结构体node存储用户借的书和借的本数,数组book存书所有书被谁借了,未借出时是0;#include<iostream>#include<algorithm>#include<cstring>using namespace std;int book[100005];struct node{ int have[10];...

2019-08-03 15:31:28 575

原创 HDU 1265 浮点数

给定实数,希望用IEEE32位浮点数表示,并将32位二进制用16进制表示。一个非常非常巧妙的办法,将浮点数 float m 的4个字节32位的内存空间copy给整数x,然后以16进制的方式打印整数x 即可;printf("%lX", x) 中 %lX是以十六进制打印整数long,变量x,使用long或者 unsigned int是因为有32位,如果用int32位有一位表示正负只有31位可...

2019-08-03 15:26:31 296

原创 大数乘除 HDU 1261 字串数

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1261题目解析:有n个不同字符,每个字符次数为 A1, A2, … An;如果不考虑重复字符数,那不同的字串个数就是∑(An)个字符的全排列再除以重复的 A1到An各自全排列之和。本题关键是全排列过程中整数范围会超过int或者long long的范围,需要用数组存储大整数自行实现大整数的乘除...

2019-08-03 15:20:26 114

原创 贪心算法 HDU 1257最少拦截系统

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1257/**定义一个数组set[3000] 初始化为0,0代表未启用;从拦截第一发导弹开始,每次选择最优解,从数组第一个元素开始遍历,找到大于本次拦截导弹高度的高度最小的系统,如果没有新开一套系统;运行过程中数组set里存的已启用的系统高度递增。*/#include <stdio.h&...

2019-08-03 15:09:22 133

原创 HDU 1220 正方体问题

解法一:/* 题解:因为公共点的数目只可能有:0,1,2,4.很明显我们用总的对数减掉有四个公共点的对数就可以了。总的公共点对数:C(2,n^3)= n^3*(n^3-1)/2(一共有n^3块小方块,从中选出2块)。因为(只有两个小方块之间才存在公共点,我们从所有的小方块中任意选出两个,自然就确定了这两个小方块的公共点的对数,从所有小方块中任意选取两个,所以总的选取方法数就是所有种类对数...

2019-08-03 15:02:46 102

原创 DFS HDU 1258 Sum It Up

1258 Sum It Up 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1258题目意思:给定一个数t,和n个数字,从n个数字选取 求和使得结果为tFor example, if t=4, n=6, and the list is [4,3,2,2,1,1], then there are four different sums th...

2019-07-22 12:00:57 89

原创 动态规划 HDU 6024 Building Shops

6024 Building Shops 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=6024题目意思:一条线上有n间教室,每个教室i 有一个坐标 Pi,在教室i 建造糖果店的成本 Ci如果在教室 i 不建造糖果店 则需要增加成本 Pi - Pleft, Pleft是在i左边并且有糖果店的最近教室求在这n间教室建糖果店的最少成本,很明显...

2019-07-22 11:48:02 152

原创 动态规划 HDU 1493 QQpet

1493 QQpet 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1493题目意思:掷骰子 最多10次,给出每次掷到1-6点的概率 p1~p6,求中途会途径指定点「5, 12, 22, 29, 33, 38, 42, 46, 50 and 55」的概率#include <stdio.h>#include <strin...

2019-07-22 11:34:57 204

原创 动态规划 HDU 1260 Tickets

1260 Tickets 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1260题目意思:有n个人排队买票,每个人单独需要的时间是是存在数组中_1的n个数,但是现在可以两个人合买, 合买只能和前面一个人或者后面一个人合买,所用时间是存在数组 _2 的n-1个数,求n个人都买完票所需要的最少时间;#include <stdio.h...

2019-07-22 11:27:52 129

原创 HDU题解

3364 Lanterns 高斯消元算法3366 Passage 动态规划3369 Robot 多项式通项公式1730 Northcott Nim博弈 2^x 位1735 字数统计 无需算法1736 美观化文字 无需算法1493 QQpet 动态规划1495 非常可乐 BFS 广度优先搜索1496 Equations Hash降低时间复杂度,空间换时间14...

2019-07-22 11:21:14 446

空空如也

空空如也

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

TA关注的人

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