自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

独钓门前月

欲买桂花同载酒,终不似,少年游

  • 博客(51)
  • 收藏
  • 关注

原创 POJ2686Traveling by Stagecoach【旅行商问题,状压dp】

#include<cstdio>#include<cstring>#include <iostream>using namespace std;const int N = 55;const double inf = 0x3f3f3f3f * 1.0;int arr[15], mp[N][N];double dp[1 << 10][...

2018-12-23 23:16:57 198

原创 洛谷P1280 尼克的任务【动态规划】

题目描述尼克每天上班之前都连接上英特网,接收他的上司发来的邮件,这些邮件包含了尼克主管的部门当天要完成的全部任务,每个任务由一个开始时刻与一个持续时间构成。尼克的一个工作日为N分钟,从第一分钟开始到第N分钟结束。当尼克到达单位后他就开始干活。如果在同一时刻有多个任务需要完成,尼克可以任选其中的一个来做,而其余的则由他的同事完成,反之如果只有一个任务,则该任务必需由尼克去完成,假如某些任务开...

2018-12-23 23:11:05 220

原创 位运算基础及简单应用

位运算:程序中的所有数在计算机内存中都是以二进制的形式存储的。位运算就是直接对整数在内存中的二进制位进行操作。含义 C语言                                                                              操作 按位与 a & b 如果两个相应的二进制位都为1,则该位的结果值...

2018-12-23 18:47:26 237

原创 C++个人学习笔记五(继承和派生)

目录 继承继承关系 和 复合关系派生类覆盖基类成员派生类的构造函数直接基类与间接基类继承继承:在定义一个新的类B时,如果该类与某 个已有的类A相似(指的是B拥有A的全部特点), 那么就可以把A作为一个基类,而把B作为基 类的一个派生类(也称子类)。派生类是通过对基类进行修改和扩充得到 的。在派生类中,可以扩充新的成员变量 和成员函数。 派生类一经定义后,可以...

2018-12-19 20:22:44 254

原创 HDU1176免费馅饼【动态规划】

都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼。说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁的10米范围内。馅饼如果掉在了地上当然就不能吃了,所以gameboy马上卸下身上的背包去接。但由于小径两侧都不能站人,所以他只能在小径上接。由于gameboy平时老呆在房间里玩游戏,虽然在游戏中是个身手敏捷的高手,但在现实中运动神经特别迟钝...

2018-12-19 16:56:24 181

原创 HDU1010Tempter of the Bone 【dfs+奇偶剪枝】

暑假的时候,小明和朋友去迷宫中寻宝。然而,当他拿到宝贝时,迷宫开始剧烈震动,他感到地面正在下沉,他们意识到这是一个陷阱!他们想尽一切办法逃出去。迷宫是一个大小为 N*M 的长方形,迷宫中有一扇门。一开始,门是关着的,他会在第 t 秒的时间打开。因为,小明和朋友必须在第 t 秒到大门口。每一秒,他都可以向上下左右四个方向移动一个点。一旦他移动了,他刚才所在的点就消失,(这意味着他不能回到他已经走过...

2018-12-19 16:52:59 198

原创 HDU1402A * B Problem Plus 【大数相乘】

Calculate A * B. InputEach line will contain two integers A and B. Process to end of file. Note: the length of each integer will not exceed 50000. OutputFor each case, output A * B in one lin...

2018-12-19 16:47:18 191

原创 HDU1002A + B Problem II【大数】

I have a very simple problem for you. Given two integers A and B, your job is to calculate the Sum of A + B. InputThe first line of the input contains an integer T(1<=T<=20) which means the ...

2018-12-18 21:49:48 86

原创 HDU1597find the nth digit【水题】

假设: S1 = 1 S2 = 12 S3 = 123 S4 = 1234 ......... S9 = 123456789 S10 = 1234567891 S11 = 12345678912 ............ S18 = 123456789123456789 .................. 现在我们把所有的串连接起来 S = 1121231234.......

2018-12-18 21:44:44 252

原创 HDU1003Max Sum 【最大子序列和】

Given a sequence a[1],a[2],a[3]......a[n], your job is to calculate the max sum of a sub-sequence. For example, given (6,-1,5,4,-7), the max sum in this sequence is 6 + (-1) + 5 + 4 = 14. InputThe...

2018-12-18 21:39:13 190

原创 zzuli2467: 别A我,我要防AK【dp】

思路:dp[i] [1] 表示选第i件物品,dp[i][0]表示不选第i件物品。所以我们可以推导出来状态方程式dp[i][1] = dp[i - 1][0] + arr[i];        dp[i][0] = max(dp[i - 1][0], dp[i - 1][1]);#include<bits/stdc++.h>using namespace std;co...

2018-12-17 21:49:56 169

原创 zzuli2461: 我是签到题【水题】

题目描述小博最近开始对数字非常着迷,如果给定一组n个整数,那么这组整数里边不存在的最小非负整数就是幸运数字。比如,集合{0,2,4}的幸运数字是1,  集合{1,2,3}的幸运数字是0,。但是小博就不满意了,因为每组的的幸运数字和他的不一样,他嘿嘿一笑,开始对集合的数字进行增加或删除数字,结果这组数字的幸运数字就是他喜欢的幸运数字了。输入输入数据有多组每组数据的第一行是  n( ...

2018-12-17 21:46:31 393

原创 洛谷P1091 合唱队形【动态规划】

题目描述NN位同学站成一排,音乐老师要请其中的(N-KN−K)位同学出列,使得剩下的KK位同学排成合唱队形。合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2,…,K1,2,…,K,他们的身高分别为T_1,T_2,…,T_KT1​,T2​,…,TK​, 则他们的身高满足T_1<...<T_i>T_{i+1}>…>T_K(1 \le i \le K)...

2018-12-12 23:36:56 295

原创 洛谷P1217 [USACO1.5]回文质数 Prime Palindromes【素数筛】

题目描述因为151既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151 是回文质数。写一个程序来找出范围[a,b](5 <= a < b <= 100,000,000)( 一亿)间的所有回文质数;输入输出格式输入格式: 第 1 行: 二个整数 a 和 b . 输出格式: 输出一个回文质数的列表,一行一个。 输入输...

2018-12-12 23:30:05 163

原创 51nod1433 0和5【数论】

小K手中有n张牌,每张牌上有一个一位数的数,这个字数不是0就是5。小K从这些牌在抽出任意张(不能抽0张),排成一行这样就组成了一个数。使得这个数尽可能大,而且可以被90整除。注意:1.这个数没有前导0,2.小K不需要使用所有的牌。 收起输入每个测试数据输入共2行。第一行给出一个n,表示n张牌。(1<=n<=1000)第二行给出n个整数a[0],a[1],...

2018-12-12 23:26:57 166

原创 动态规划之最大子矩阵和

分析: 我们已经解决了一维的问题(基础篇中的最大子段和问题),现在变成二维了,我们看看能不能把这个问题转化为一维的问题。最后子矩阵一定是在某两行之间的。假设我们认为子矩阵在第i行和第j列之间,我们如何得到i和j呢,对,枚举。  枚举所有1<=i<=j<=M,表示最终子矩阵选取的行范围。 我们把每一列第i行到第j行之间的和求出来,形成一个数组c,于是一个第i行到第j行之间的...

2018-12-12 23:17:40 1056

原创 51nod1051 最大子矩阵和【动态规划】

 一个M*N的矩阵,找到此矩阵的一个子矩阵,并且这个子矩阵的元素的和是最大的,输出这个最大的值。例如:3*3的矩阵: -1 3 -12 -1 3-3 1 2 和最大的子矩阵是: 3 -1-1 31 2 收起输入第1行:M和N,中间用空格隔开(2 <= M,N <= 500)。第2 - N + 1行:矩阵中的元素,每行M个数...

2018-12-12 23:16:50 334

原创 C++个人学习笔记四(运算符重载)

目录 运算符重载赋值运算符 的重载运算符重载 为友元函数类型转换运算符和 自增、自减运算符 的重载运算符重载C++预定义的运算符,只能用于基本数据类型 的运算:整型、实型、字符型、逻辑型 .......+、-、*、/、%、^、&、~、!、|、=、<< >>、!=、……不能重载的运算符. :: .* ...

2018-12-12 16:24:01 216

原创 C++STL - set详解

set有很多用法与map相差不大,之前写了一篇map的介绍打开链接,所以这次就大概讲解一下:map通过实值来排序,通过实值来查找,即键值即实值,而且同样不能重复。构造:set<string> s;常用函数成员函数 (构造函数) 构造 set  (公开成员函数) (析构函数) 析构 set  (公开成员函...

2018-12-11 14:15:42 526

原创 C++STL - map详解

目录 定义 声明插入元素输出容量查询删除查找默认排序常用函数定义std::map 是有序键值对容器,它的元素的键是唯一的。用比较函数 Compare 排序键。搜索、移除和插入操作拥有对数复杂度。 map 通常实现为红黑树,其属于关联容器,特点:高效查找(log2(N)),键值不能重复关联容器类似于C++中的无序关联容器。差别为:关联容器是红黑...

2018-12-11 13:58:26 327

原创 最大子段和问题(最大子序列和)详解

给出一个整数数组a(正负数都有),如何找出一个连续子数组(可以一个都不取,那么结果为0),使得其中的和最大? 例如:-2,11,-4,13,-5,-2,和最大的子段为:11,-4,13。和为20。  看见这个问题你的第一反应是用什么算法? (1) 枚举?对,枚举是万能的!枚举什么?子数组的位置!好枚举一个开头位置i,一个结尾位置j>=i,再求a[i..j]之间所有数...

2018-12-07 22:38:19 3229

原创 C++个人学习笔记三(this指针,静态成员,成员对象和封闭类,友元,常量成员函数)

this指针其作用就是指向成员函数所作用 的对象非静态成员函数中可以直接使用this来代表指向该函数 作用的对象的指针。class Complex {public:double real, imag;void Print() { cout << real << "," << imag ; }Complex(double r,double i...

2018-12-07 20:02:06 1089

原创 51nod1010 只包含因子2 3 5的数【打表+二分】

K的因子中只包含2 3 5。满足条件的前10个数是:2,3,4,5,6,8,9,10,12,15。所有这样的K组成了一个序列S,现在给出一个数n,求S中 >= 给定数的最小的数。例如:n = 13,S中 >= 13的最小的数是15,所以输出15。 收起输入第1行:一个数T,表示后面用作输入测试的数的数量。(1 <= T <= 10000)第2 - T...

2018-12-06 23:01:34 187

原创 51nod1014 X^2 Mod P【数论+枚举】

X*X mod P = A,其中P为质数。给出P和A,求<=P的所有X。 收起输入两个数P A,中间用空格隔开。(1 <= A < P <= 1000000, P为质数)输出输出符合条件的X,且0 <= X <= P,如果有多个,按照升序排列,中间用空格隔开。如果没有符合条件的X,输出:No Solution输入样例13 3...

2018-12-06 22:47:42 230

原创 51nod1240 莫比乌斯函数

莫比乌斯函数,由德国数学家和天文学家莫比乌斯提出。梅滕斯(Mertens)首先使用μ(n)(miu(n))作为莫比乌斯函数的记号。(据说,高斯(Gauss)比莫比乌斯早三十年就曾考虑过这个函数)。具体定义如下:如果一个数包含平方因子,那么miu(n) = 0。例如:miu(4), miu(12), miu(18) = 0。如果一个数不包含平方因子,并且有k个不同的质因子,那么miu(n...

2018-12-06 21:15:17 165

原创 莫比乌斯反演

定义莫比乌斯函数,由德国数学家和天文学家莫比乌斯提出。梅滕斯(Mertens)首先使用μ(n)(miu(n))作为莫比乌斯函数的记号。(据说,高斯(Gauss)比莫比乌斯早三十年就曾考虑过这个函数)。具体定义如下:如果一个数包含平方因子,那么miu(n) = 0。例如:miu(4), miu(12), miu(18) = 0。如果一个数不包含平方因子,并且有k个不同的质因子,那么m...

2018-12-06 21:09:59 157

原创 51nod1136 欧拉函数

对正整数n,欧拉函数是少于或等于n的数中与n互质的数的数目。此函数以其首名研究者欧拉命名,它又称为Euler's totient function、φ函数、欧拉商数等。例如:φ(8) = 4(Phi(8) = 4),因为1,3,5,7均和8互质。 收起输入输入一个数N。(2 <= N <= 10^9)输出输出Phi(n)。输入样例8输出样例4...

2018-12-06 20:02:31 127

原创 欧拉函数模板

对正整数n,欧拉函数是少于或等于n的数中与n互质的数的数目。此函数以其首名研究者欧拉命名,它又称为Euler's totient function、φ函数、欧拉商数等。例如:φ(8) = 4(Phi(8) = 4),因为1,3,5,7均和8互质。 筛法欧拉函数const int N = 100005;int euler[N + 10];void Geteuler(){ me...

2018-12-06 19:59:28 104

原创 51nod1021 石子归并【动态规划】

N堆石子摆成一条线。现要将石子有次序地合并成一堆。规定每次只能选相邻的2堆石子合并成新的一堆,并将新的一堆石子数记为该次合并的代价。计算将N堆石子合并成一堆的最小代价。 例如: 1 2 3 4,有不少合并方法1 2 3 4 => 3 3 4(3) => 6 4(9) => 10(19)1 2 3 4 => 1 5 4(5) => 1 9(14) =&g...

2018-12-05 23:32:12 259

原创 51nod1086 背包问题 V2【多重背包】

有N种物品,每种物品的数量为C1,C2......Cn。从中任选若干件放在容量为W的背包里,每种物品的体积为W1,W2......Wn(Wi为整数),与之相对应的价值为P1,P2......Pn(Pi为整数)。求背包能够容纳的最大价值。 收起输入第1行,2个整数,N和W中间用空格隔开。N为物品的种类,W为背包的容量。(1 <= N <= 100,1 <= W &lt...

2018-12-05 23:25:49 152

原创 51nod1007 正整数分组【完全背包】

将一堆正整数分为2组,要求2组的和相差最小。例如:1 2 3 4 5,将1 2 4分为1组,3 5分为1组,两组和相差1,是所有方案中相差最少的。 收起输入第1行:一个数N,N为正整数的数量。第2 - N+1行,N个正整数。(N <= 100, 所有正整数的和 <= 10000)输出输出这个最小差输入样例512345输出样例...

2018-12-05 23:21:32 183

原创 01背包,完全背包,多重背包,分组背包模板

一:01背包有N件物品和一个容量为V的背包。第i件物品的重量是w[i],价值是c[i]。求解将哪些物品装入背包可使这些物品的重量总和不超过背包容量,且价值总和最大。关键是找出状态方程组,可知为dp[i][j]=max(dp[i-1][ j ],dp[i-1][j-w[i] ]+c[i]),所以可以写出代码#include <iostream>#include<...

2018-12-05 15:11:44 236

原创 HDU2191-多重背包

急!灾区的食物依然短缺!为了挽救灾区同胞的生命,心系灾区同胞的你准备自己采购一些粮食支援灾区,现在假设你一共有资金n元,而市场有m种大米,每种大米都是袋装产品,其价格不等,并且只能整袋购买。请问:你用有限的资金最多能采购多少公斤粮食呢?Input输入数据首先包含一个正整数C,表示有C组测试用例,每组测试用例的第一行是两个整数n和m(1&lt;=n&lt;=100, 1&lt;=m&lt...

2018-12-05 15:11:20 102

原创 Coderforces Round #525(div2)1088C - Ehab and a 2-operation task

思路:这道题比较坑,读懂题意的话还是比较好做的,要是没理解,那很难写……因为最多可以操作n+1次,并且符合情况有很多种,我们只需要选择其中一种就可以了,我们可以倒着推,让前面的数不断相加,最后全都余n+1,就是使最终结果a[i] = i;下面看代码:#include &lt;bits/stdc++.h&gt;using namespace std;typedef long lon...

2018-12-05 00:31:17 203

原创 Coderforces Round #525(div2)1088B - Ehab and subtraction

思路:模拟题,主要是考虑情况比较多,我写的比较麻烦,也没有再去优化它,所以就大概看一下思路就好。#include &lt;bits/stdc++.h&gt;using namespace std;const int maxn = 1e5 + 5;const int INF = 0x3f3f3f3f;int arr[maxn];int main(){ int n, k;...

2018-12-05 00:24:54 272

原创 Coderforces Round #525(div2)1088A - Ehab and another construction problem

思路:没什么思路,就是纯暴力匹配#include &lt;bits/stdc++.h&gt;using namespace std;const int INF = 0x3f3f3f3f;int main(){ int a, b, x; scanf("%d", &amp;x); for(int i = 1; i &lt;= 100 &amp;&amp; i &l...

2018-12-05 00:20:32 277

原创 HDU1879继续畅通工程【最小生成树】

Problem Description省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可)。现得到城镇道路统计表,表中列出了任意两城镇间修建道路的费用,以及该道路是否已经修通的状态。现请你编写程序,计算出全省畅通需要的最低成本。Input测试输入包含若干测试用例。每个测试用例的第1行给出村庄数目N ( 1&lt; N ...

2018-12-04 20:59:25 175

原创 HDU1223还是畅通工程【最小生成树】

Problem Description某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离。省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可),并要求铺设的公路总长度为最小。请计算最小的公路总长度。Input测试输入包含若干测试用例。每个测试用例的第1行给出村庄数目N ( &lt; 100 );随后的N(N-...

2018-12-04 20:30:11 113

原创 HDU1863畅通工程【最小生成树】

Problem Description省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可)。经过调查评估,得到的统计表中列出了有可能建设公路的若干条道路的成本。现请你编写程序,计算出全省畅通需要的最低成本。Input测试输入包含若干测试用例。每个测试用例的第1行给出评估的道路条数 N、村庄数目M ( &lt; 100 ...

2018-12-04 20:15:57 151

原创 洛谷P1020 导弹拦截【动态规划】

题目描述某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。输入导弹依次飞来的高度(雷达给出的高度数据是\le 50000≤50000的正整数),计算这套系统最多能拦截多少导弹...

2018-12-03 23:27:07 205

空空如也

空空如也

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

TA关注的人

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