自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【最长上升子序列LIS+路径记录】HDU-1160 FatMouse's Speed

注解1、最长上升子序列的变形。先按照题目要求,根据weight升序和speed降序排序,然后是利用最长上升子序列LIS算法,找到符合要求的最长序列。2、利用pre数组记录路径。代码#include <iostream>#include <algorithm>#include <cstring>using namespace std;st...

2020-01-27 14:42:43 402

原创 【广度优先遍历BFS】HDU-1495 非常可乐

注解1、遍历6种情况:a往b倒,a往c倒,b往c倒,b往a倒,c往b倒,c往a倒。2、能倒的条件是,前一个不空,后一个不满。倒的时候分两种情况:(1)前一个的水能全部倒到后一个杯子里;(2)前一个的水只倒一部分到后一个杯子,后一个容量就满了。3、注意初始状态和结束状态,初始状态第一个杯子为满,第二个第三个杯子为空;结束状态是有两个杯子容量相等,另一个杯子为空。4、注意visit数组的设...

2020-01-27 14:38:08 393

原创 【最长上升子序列LIS】HDU-5532 Almost Sorted Array

注解1、最长上升子序列的变形,正序和逆序分别扫描,只要其中最长上升子序列的个数大于等于N-1,就输出YES,否则输出NO。代码#include <iostream>#include <cstring>#include <algorithm>using namespace std;const int maxn = 1e5 + 5;int ...

2020-01-27 14:30:01 388

原创 【模拟】HDU-1462 Word Crosses

注解1、模拟题,要看清楚题目要求,仔细想各种情况。2、两个单词的word cross,要从第一个单词的第一个字母开始遍历,找到该字母在第二个单词中是否有出现,有出现的第一个字母就是符合题目要求的。3、由于是两对单词放在一行输出,因此分为两种情况,首先求出index和index2数组,然后分为以下几部分分别输出:(1)上方只含有1个字母的部分;(2)上方含有2个字母的部分;(3)水平单词;...

2020-01-25 13:19:50 1755

原创 【广度优先遍历BFS】HDU-1241 Oil Deposits

注解1、从第一个点,到最后一个点,进行广度优先遍历BFS。2、遍历八个方向:上下左右,右上,右下,左上,左下。代码#include <iostream>#include <queue>#include <cstring>using namespace std;const int MAXN = 101;int M, N;int vis...

2020-01-01 14:33:40 350

原创 【广度优先遍历BFS】HDU-2717 Catch That Cow

注解1、广度优先遍历BFS,三种情况:加一,减一,乘二。2、注意边界!要先判断是否在[0,100000]范围,如果在,再判断是否访问过该位置。此顺序不能变化,否则会发生数组越界!导致ACCESS_VIOLATION。代码#include <iostream>#include <queue>#include <cstring>using nam...

2019-12-30 21:58:52 255

原创 【广度优先遍历BFS】HDU-1548 A strange lift

注解1、广度优先遍历BFS,注意使用visit数组记录访问过的层数,否则会报内存溢出。代码#include <iostream>#include <queue>#include <cstring>using namespace std;const int MAXN = 201;int A, B, N;int visit[MAXN];...

2019-12-30 21:08:45 183

原创 【最大公约数GCD+找规律】HDU-1722 Cake

注解1、答案:a+b-gcd(a,b)代码#include <iostream>#include <algorithm>using namespace std;int main(void){ int a, b; while(scanf("%d%d", &a, &b)!=EOF){ printf("%d\n"...

2019-12-30 20:36:46 229

原创 【广度优先遍历BFS】HDU-1195 Open the Lock

注解1、C++的string操作速度很慢,用string本题会超时!改用int数组。要学会字符串,整型等类型之间的转换。2、BFS,从一个数字开始,依次进行:每位数字加一,每位数字减一,交换两相邻数字,这三种操作。3、BFS的同时要记录曾经在队列中出现的数字,避免重复导致内存溢出。具体方法是增加一个visit数组,记录访问过的四位数。代码#include <iostream&g...

2019-12-30 20:30:39 235

原创 【递推+Java大整数】HDU-1297 Children’s Queue

注解1、递推关系。F(n) = F(n-1) + F(n-2) + F(n-4)2、大整数。代码import java.math.BigInteger;import java.util.Scanner;public class Main { public static void main(String[] args) { BigInteger[] a = ...

2019-12-28 22:35:11 144

原创 【找规律+公式推导+切西瓜问题】HDU-1290 献给杭电五十周年校庆的礼物

注解1、找规律,推导公式。这类问题的一般技巧:二维的一般是a_{n} ^ 2+b_{n}+c,三维的一般是a_{n} ^ 3 + b_{n} ^ 2 + c_{n} + d.2、利用上面的通式,只需要找几个数字,用待定系数法即可。代码#include <iostream>using namespace std;int main() { int n; while...

2019-12-28 22:29:55 634

原创 【枚举+异或】HDU-1287 破译密码

注解1、枚举和异或。2、理解题目意思,用一个大写字母来异或给出的每个数字,得到的全都是大写字母,就满足题意。题目保证答案唯一。所以只需要枚举26个大写字母就可以了。代码#include <iostream>#include <cstring>using namespace std;int main() { int N; while(~s...

2019-12-28 21:51:59 170

原创 【因数+哈希映射+筛法思想】HDU-1286 找新朋友

注解1、利用筛法的思想找因数,速度更快,避免超时。代码#include <iostream>#include <cstring>using namespace std;int main() { int CN; scanf("%d", &CN); for(int i=0; i<CN; i++){ ...

2019-12-28 21:16:29 185

原创 【完全背包】HDU-1284 钱币兑换问题

注解1、完全背包。注意初始情况为dp[0]=1。代码#include <iostream>#include <cstring>using namespace std;const int MAX = 32768;const int MAXTYPE = 3;int coin[MAXTYPE] = {1, 2, 3};int main() { ...

2019-12-28 20:57:39 169

原创 【模拟】HDU-1283 最简单的计算机

注解1、简单模拟。代码#include <iostream>using namespace std;int main() { int M1, M2; while(cin>>M1>>M2) { int R1 = 0; int R2 = 0; int R3 = 0; ...

2019-12-28 20:50:26 170

原创 【字符串处理+回文数】HDU-1282 回文数猜想

注解1、简单的字符串处理,以及回文数的判断。2、字符串与数字的转换。代码#include <iostream>#include <sstream>#include <vector>using namespace std;int isPalin(string s){ int len = s.length(); for(int...

2019-12-28 20:43:20 167

原创 【哈希映射】HDU-1280 前m大的数

注解1、简单的哈希映射,把sum映射到对应位置。代码#include <iostream>#include <cstring>using namespace std;const int MAXN = 10001;int main() { int N, M; while(~scanf("%d %d", &N, &M))...

2019-12-28 20:09:31 139

原创 【模拟】HDU-1279 验证角谷猜想

注解1、简单模拟,模拟此过程即可。代码#include <iostream>using namespace std;int main() { int n; cin>>n; for(int i=0; i<n; i++) { int m; cin>>m; in...

2019-12-28 19:30:29 164

原创 【模拟】HDU-1276 士兵队列训练问题

注解1、简单模拟题,模拟此过程即可。代码#include <iostream>#include <cstring>using namespace std;int main() { int n; cin>>n; for(int i=0; i<n; i++) { int m; cin...

2019-12-28 19:04:22 411

原创 【字符串处理】HDU-1266 Reverse Number

注解1、字符串处理,仔细理解题目,分为:末尾带0,末尾不带0,以及正数和负数的情况。2、特别注意:输入0的时候,输出0,一定不能错。否则会报WA。代码#include <iostream>using namespace std;int main() { int n; cin>>n; for(int i=0; i<n; i++) { st...

2019-12-28 18:25:15 121

原创 【输入输出控制+哈希映射】HDU-1264 Counting Squares

注解1、输入输出格式控制。-1和-2分别表示什么。2、把矩阵空间映射到二维数组中,用二维数组的计数表示矩形面积。代码#include <iostream>#include <cstring>#include <cmath>using namespace std;const int MAX = 101;int rec[MAX][MAX]...

2019-12-28 13:25:20 115

原创 【素数判断】HDU-1262 寻找素数对

注解1、素数判断。代码#include <iostream>#include <cmath>using namespace std;int isPrime(int n){ for(int i=2; i<=sqrt(n); i++){ if(n%i==0){ return 0; } ...

2019-12-28 13:11:38 251

原创 【组合数+阶乘+Java大数】HDU-1261 字串数

注解1、求组合数。2、Java大数。代码import java.math.BigInteger;import java.util.Scanner;public class Main { public static BigInteger Factorial(int n) { BigInteger bi = BigInteger.ONE; ...

2019-12-28 10:39:18 218

原创 【STL交换swap+字符数组】HDU-1259 ZJUTACM

注解1、STL的交换操作,swap函数。2、字符数组的简单使用。3、模拟交换过程。代码#include <iostream>using namespace std;int main() { int N; scanf("%d", &N); for(int i=0; i<N; i++) { char c[] = {" ZJUTACM"};...

2019-12-28 10:10:14 180

原创 【Java大数BigInteger+递推】HDU-1250 Hat's Fibonacci

注解1、Java大数BigInteger。2、递推关系。代码import java.math.BigInteger;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in)...

2019-12-27 23:11:50 108

原创 【三角形划分区域+公式推导】HDU-1249 三角形

注解1、公式推导:f(n) = 6 * (n-1) + f(n-1),f(1) = 22、详解:https://blog.csdn.net/pmt123456/article/details/53939004代码#include <iostream>using namespace std;const int LEN = 10001;int a[LEN];voi...

2019-12-27 22:46:07 321

原创 【完全背包或哈希映射】HDU-1248 寒冰王座

注解1、可用完全背包来做。2、也可用哈希映射来做。代码(完全背包)#include <iostream>#include <cstring>using namespace std;const int LEN = 10010;int dp[LEN];void init(){ memset(dp, 0, sizeof(dp));...

2019-12-27 22:18:54 142

原创 【结构体排序】HDU-1236 排名

注解1、结构体排序。2、注意string类型在结构体排序时也只需要用 < 或 > 即可进行比较,升序或降序。代码#include <iostream>#include <algorithm>using namespace std;struct Stu { string id; int sum;};int compare...

2019-12-26 18:00:17 269

原创 【简单哈希映射】HDU-1235 统计同成绩学生人数

注解1、简单哈希映射,将每个分数映射为数组对应的位置,因此查找的复杂度为O(1),避免超时。代码#include <iostream>#include <cstring>using namespace std;int main() { int N; scanf("%d", &N); while(N){ ...

2019-12-26 16:37:32 119

原创 【结构体排序】HDU-1234 开门人和关门人

注解1、结构体排序。2、字符串的输入要注意,以及scanf如何快速方便的输入带格式数据(如本题的时间数据)。代码#include <iostream>#include <algorithm>#include <cstring>using namespace std;const int LEN = 20;struct Peo { ...

2019-12-26 16:20:54 157

原创 【取余】HDU-1229 还是A+B

注解1、要想得到末位K位数,要有取余的方法。代码#include <iostream>#include <cmath>using namespace std;int main() { int a, b, k; cin>>a>>b>>k; while(a || b){ i...

2019-12-25 22:12:49 137

原创 【STL队列queue】HDU-1228 A + B

注解1、用STL的队列,第一次读到+,然后把第一个数变成数字,第二次读到=,然后把第二个数字变成数字。之后两数相加即可。代码#include <iostream>#include <queue>using namespace std;const int LEN = 10;string str[] = {"zero", "one", "two", "th...

2019-12-25 22:01:48 142

原创 【Map】HDU-2648 Shopping

注解1、熟练使用STL中的Map。2、对应结果再暂存到数组中,然后从数组中查找有几个比Memory价格高的。代码#include <iostream>#include <map>using namespace std;int main() { int n; while(cin>>n) { int a...

2019-12-25 18:01:26 176

原创 【STL队列和栈】HDU-1702 ACboy needs your help again!

注解1、熟练使用STL中的栈和队列。代码#include <iostream>#include <queue>#include <stack>using namespace std;int main() { int T; cin>>T; for(int i=0; i<T; i++) {...

2019-12-25 17:59:15 146

原创 【卡特兰数Catalan+Java大数BigInteger】HDU-1133 Buy the Ticket

注解1、此题是Catalan数的变形,如果m=n,则就是标准的卡塔兰数。2、如果m<n,直接输出0。3、对于m>n的情况,要转换成排列。化简后的公式为:F(N) =(m+n)!*(m-n+1)/(m+1)4、必须用大数来解决。代码import java.math.BigInteger;import java.util.Scanner;public class Ma...

2019-12-25 17:56:59 145

原创 【GCD】HDU-1222 Wolf and Rabbit

注解1、求GCD,如果是1,就是YES,否则就是NO。代码#include <iostream>using namespace std;int gcd(int a, int b){ return a%b==0?b:gcd(b, a%b);}int main() { int n; scanf("%d", &n); ...

2019-12-24 19:59:37 104

原创 【字母个数统计】HDU-1219 AC Me

注解1、简单的字母个数统计,用打表的方式即可(26个字母组成的数组)。代码#include <iostream>#include <cstring>using namespace std;const int SIZE = 26;int main() { string s; while(getline(cin, s)){ ...

2019-12-24 19:53:42 130

原创 【找因数+打表】HDU-1215 七夕节

注解1、如果对输入的每个数暴力找因数,会超时。2、正确做法是类似于筛法求素数,先开一个大数组,然后一次性找出所有数字的因数。找因数的方法是,先找所有含因数1的数字,再找所有含因数2的数字,再找所有含因数3的数字。。。以此类推。代码#include <iostream>#include <cstring>using namespace std;cons...

2019-12-24 19:26:18 181

原创 【逆序】HDU-1214 圆桌会议

注解1、本题相当于求逆序,一个容量为n的队列,逆序需要交换的次数为 n * (n-1) / 2。2、本题是个圆形队列(循环队列),相当于没有首尾,因此将队列分成两半,分的时候容量尽量接近,每部分分别逆序再整合即可。代码#include <iostream>using namespace std;int fun(int n){ return n*(n-1)/2...

2019-12-24 18:17:07 212

原创 【Java大数BigInteger】HDU-1212 Big Number

注解1、直接利用Java大数类BigInteger,计算mod。代码import java.math.BigInteger;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System....

2019-12-24 18:13:33 131

空空如也

空空如也

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

TA关注的人

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