自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 hdu1051(贪心)

题意:将木棍放在机器里处理,第一根需要一分钟,剩余的如果大于等于前边放入的长度和重量,就不用费时间,否则需要一分钟,计算给出一组数的最少时间! 思路:先将长度按从小到大排序,然后再从重量上考虑看可以构成几个连续递增的序列; 代码:#include<stdio.h>#include<algorithm>using namespace std;struct node{ int x,y,

2016-04-15 20:50:08 1361

原创 HDU1028(DP)

转自http://blog.csdn.net/ice_crazy/article/details/7478802 本题的意思是:整数划分问题是将一个正整数n拆成一组数连加并等于n的形式,且这组数中的最大加数不大于n。 如6的整数划分为65 + 14 + 2, 4 + 1 + 13 + 3, 3 + 2 + 1, 3 + 1 + 1 + 12 + 2 + 2, 2 + 2 + 1

2016-04-15 16:43:12 212

原创 c++unique用法

一.unique函数类属性算法unique的作用是从输入序列中“删除”所有相邻的重复元素。 该算法删除相邻的重复元素,然后重新排列输入范围内的元素,并且返回一个迭代器(容器的长度没变,只是元素顺序改变了),表示无重复的值范围得结束。 // sort words alphabetically so we can find the duplicates sort(words.begin(), wo

2016-04-11 18:31:22 758

原创 hdu1597(二分查找)

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

2016-04-11 11:29:23 416

原创 hdu2895(水)

Problem Description Given a string, an edit script is a set of instructions to turn it into another string. There are four kinds of instructions in an edit script: Add (‘a’): Output one character. T

2016-04-11 10:39:43 343

原创 hdu5353 (贪心)

题意: 有n个人组成一个环,相邻的两个人能互相给糖果,对于相邻的两个人而言,只能进行一次操作,要么x给y一个糖果,要么y给x一个糖果,要么不动,问能否经过一定的操作使得每个人的糖果数一样,并输出步骤 Input There are multiple test cases. The first line of input contains an integer T, indicating the

2016-04-10 22:56:46 242

原创 hdu1009(简单贪心)

题意:一共有n个房子,每个房子里有老鼠喜欢吃的javabeans,但是每个房间里的javabeans的价格不一样。老鼠用m元,问m元最多可以卖多少javabeans,其中每个房间里的javabeans可以被分割。 思路:要想得到的最大值,应该从食品的单价最大的开始,先按食品单价从小到大排序然后逐一购买,直到钱花光; 代码:#include<stdio.h>#include<algorithm>

2016-04-10 01:46:28 316

原创 hdu4310(贪心)

题意:你是无敌的(血量无数),攻击力是1(每次打敌人使对方掉1滴血)问,你同时与n(1 = < n <= 20)敌人对打,杀死所有敌人,掉的最低血量。样例第一个数是n,第二行是敌人的攻击力和血量。 思路:要求掉的血最少,应该要从攻击力/血量最大的先杀,因为你每次打敌人一滴血就要相应减去还存在的敌人的攻击和的血量,所以肯定要从攻击力/血量大的开始,才能得到掉的最低血量; 代码:#include<s

2016-04-10 01:19:12 343

原创 *hdu4269 (贪心)

题意:有n个板,每个板有重量和强度两个属性,把板叠在一起,对于每个板有个PDV值,计算方式为这个板上面的板的重量和减去这个板的强度,对于每种叠放方式,取这个叠放方式中所以板中PDV值最大的值为代表值,问所有叠放方式中最小的代表值为多少。 思路(转自http://www.cnblogs.com/wally/archive/2013/06/01/3113008.html)假设i,j相邻,并且i上面的重

2016-04-10 00:16:13 451

原创 hdu4864(贪心)

参考自:http://blog.csdn.net/a601025382s/article/details/38046927 题意:有n个机器,m个任务。每个机器至多能完成一个任务。对于每个机器,有一个最大运行时间xi和等级yi,对于每个任务,也有一个运行时间xj和等级yj。只有当xi>=xj且yi>=yj的时候,机器i才能完成任务j,并获得500*xj+2*yj金钱。问最多能完成几个任务,当出现多

2016-04-09 20:11:54 323

原创 hdu1789(贪心)

题意:Ignatius有N项作业要完成。每项作业都有限期,如果不在限期内完成作业,期末考就会被扣相应的分数。给出测试数据T表示测试数,每个测试以N开始(N为0时结束),接下来一行有N个数据,分别是作业的限期,再有一行也有N个数据,分别是若不完成次作业会在期末时被扣的分数。求出他最佳的作业顺序后被扣的最小的分数。(每个作业费时一天)。 思路:使用一个结构体保存每门作业的限制时间和被扣的分数。 对限

2016-04-09 16:39:53 1410

原创 hdu1796(容斥原理)

题意: 给你一个集合M,里面最多有10个非负数,问1~n-1中一共有多少个数可以被其中一个整除。 思路:就是把M中的每个元素去除以n,然后减去重复的(容斥原理),就是答案; 代码:#include<stdio.h>#include<iostream>using namespace std;__int64 n,m,mm,a[11];__int64 gcd(__int64 a,__int6

2016-04-08 22:48:27 335

原创 hdu1695(欧拉函数,容斥原理,vector容器)

t题意:求(1,b)区间和(1,d)区间里面gcd(x, y) = k的数的对数(1<=x<=b , 1<= y <= d)。 b和d分别除以k之后的区间里面,只需要求gcd(x, y) = 1就可以了,这样子求出的数的对数不变。 这道题目还要求1-3 和 3-1 这种情况算成一种,因此只需要限制x#include<stdio.h>#include<string.h>#include<vec

2016-04-08 01:45:07 206

原创 hdu2824(欧拉函数)

题意:求a到b的所有欧拉函数值; Input There are several test cases. Each line has two integers a, b (2#include<stdio.h>#include<math.h>int a[3000001];void euler(){ int i,j; for(i=1;i<=3000000;i++)

2016-04-06 23:11:33 818

转载 hdu2588(欧拉函数的应用)

题意:给定N,M(2<=N<=1000000000, 1<=M<=N), 求1<=X<=N 且gcd(X,N)>=M的个数。 Input The first line of input is an integer T(T<=100) representing the number of test cases. The following T lines each contains two num

2016-04-06 22:32:50 434

转载 hdu1395 (数论,暴力求余)

题目大意:给你一个数N,判断是否存在x,满足2^x mod N = 1。若满足,对于满足条件的最小x,输出2^x mod N = 1,否则输出 Input One positive integer on each line, the value of n.Output If the minimum x exists, print a line with 2^x mod n = 1.Print

2016-04-05 23:25:13 395

原创 hdu1013 (数论)

题意:就是把数的每个位数相加,看是否小于10,是就输出,如果大于10,则继续进行位数相加,知道为一个数,最后输出一个数;其实让我们做了是为了让我们知道一个结论。一个数(n)的树根k=(n-1)%9-1; Input The input file will contain a list of positive integers, one per line. The end of the input

2016-04-05 20:33:43 231

原创 hdu4715 (素数删选法)

题意:给出一个偶数(不论正负),求出两个素数a,b,能够满足 a-b=x,素数在1e6以内。 只要用筛选法打出素数表,枚举查询下就行了。 注意,偶数有可能是负数,其实负数就是将它正数时的结果颠倒就行了。 代码:#include<stdio.h>#define max 1000005int main(){ int i,j; int prime[max]={0,1};

2016-04-04 21:17:55 370

原创 hdu2710 (素数删选法)

题意: 输入一个正整数n(1 <=n<= 5000),然后输入n个正整数(1<=这些数<=20000),要你求这n个数里哪个数的最大素因数(即能被该数整除的最大素数)最大,然后输出这个数。若有两个数的最大素因数相同,则输出前面那个。 代码:#include<stdio.h>#define maxn 20005int prime[maxn]={0,1};int t;int main(){

2016-04-04 20:49:23 406

原创 hdu4228 (反素数)

题意:给你一个数N,找出一个最小的可以拆分成N种乘积表达形式的数x Sample Input 2 16 19 0Sample Output 4 840 786432思路:比如N=2,6可以拆成2x3或者1x6两种,但不是最小的,最小的是4可以拆成1x4,2x2两种首先可以肯定的是x必然有N*2或者是N*2-1(完全平方的情况)个约数利用求反素数的过程求出约数为N*2和N*2-1个的最

2016-04-01 16:56:12 352

原创 hdu 2521(反素数)

题意Problem Description 反素数就是满足对于任意i(0#include<stdio.h>int a,b;int bestnum;int f[5010]={0};int main(){ int n,i,j; for(i=1;i<=5000;i++) for(j=i;j<=5000;j=j+i) f[j]++;

2016-04-01 03:10:25 369

原创 hdu4542 求反素数

题意Problem Description   “今有物不知其数,三三数之有二,五五数之有三,七七数之有二,问物几何?”  这个简单的谜题就是中国剩余定理的来历。  在艰难地弄懂了这个定理之后,小明开始设计一些复杂的同余方程组X mod ai = bi 来调戏别人,结果是必然的,都失败了。  可是在这个过程中,小明发现有时并不一定要把ai和bi告诉你。他只需要告诉你,ai在区间 [1, X] 范围

2016-04-01 00:33:19 478

空空如也

空空如也

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

TA关注的人

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