自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 暑假集训——贪心专题——C题

贪心题意:你有n个蛋糕,每个蛋糕为半径不同的圆柱体,圆柱体高为1,你有f个朋友要来,现在来分蛋糕,使每个朋友所分得的蛋糕体积相同,而且不能那两个蛋糕拼在一起给朋友,问每个朋友能拿到的蛋糕的最大体积。思路:二分枚举答案mid,判断所枚举的答案mid是否符合要求,如果枚举的mid不符合要求,那么mid就太大了,r=mid。如果符合要求,就继续找更大的mid,l=mid。#include#

2015-07-24 18:25:38 347

原创 暑假集训——贪心专题——E题

贪心题意:有m个人玩牌,每个人有n张手牌,手牌点数最大为n*m,每场每个人拿除一张手牌,谁最大谁赢,现在给出你的手牌点数,问你一定能赢多少场。思路:先将手牌从大到小排序,每次枚举一张牌,看比它大的手牌是否已经出现过,(你的手牌均为已经出现过),如果所有比它大的手牌已经出现过,那么这局出这张一定能赢。#include#include#include#includeusing na

2015-07-24 18:15:42 302

原创 暑假集训——贪心专题——I题

贪心题意:有一个n种颜料的套组,每种颜料有50ml,还有一种没有的灰色颜料,需要其他任意三种颜料来配置,如果三种颜料用xml来配置可以配置出xml的灰色颜料,问给出每种颜料及灰色颜料所需要的配置ml数,求最小的颜料套组总数。思路:先算出除灰色之外的其他颜料所需的最大值,求出需要的套数,然后用每种颜料的总数减去需要的总数,用剩下的颜料的数量来配置灰色。这里用while循环,从大到小排列颜料的

2015-07-24 18:07:31 359

原创 暑假集训——贪心专题——D题

贪心题意:你有n星期,每星期要制造酸奶,每星期制造酸奶的成本价格ci不同,你还有个存储的仓库,每存储一瓶酸奶要花s元,现在给出n,s,和每星期酸奶的成本价格ci和每星期必须完成的酸奶生产数量vi。问最小成本花费为多少钱。(可以在某一非常便宜的时候多做点,然后给接下来的星期用)思路:用dp[i]=min(dp[i-1]+s,c[i])来计算出每周最小的成本价格为dp[i]元,然后计算中成本价

2015-07-24 17:50:46 258

原创 暑假集训——贪心专题——A题

贪心题意:有n个人要过河,只有一条船,而且每次只能坐2个人,过河花费的时间为2个人中划船最慢的那个人的时间,现在给出每个人过河花费所需的时间,问n个人全部过去所需要的最小时间。思路:注意船开过去后需要有一个人划回来而且也算入总需要时间。每次设法送队伍中最慢和次慢的人过河,送他们过河的方法有2种:1.最快、次快过去,最快回来,最慢、次慢过去,次快回来t[1]+t[0]+t[n-1]+t[1]

2015-07-24 17:35:47 331

原创 暑假集训——贪心专题——F题

贪心题意:有一个坐标轴,在x轴上可以放半径为r的雷达,x轴上方有n个海岛,给出每个海岛的坐标,问如何用最少的雷达覆盖全部的海岛,如果覆盖不了全部就输出-1。思路:算出每个海岛可以被扫到的区间,然后根据区间覆盖情况,算出需要的最少雷达。注意区间的左端为x-sqrt(r*r-y*y)右端为x+sqrt(r*r-y*y)。区间越小代表海岛的y坐标越大。#include#include#i

2015-07-24 17:21:15 280

原创 暑假集训——个人训练赛04——J题

贪心题意:有m个鬼魂按不同的时间点来找你,每个鬼魂来1秒钟,需要看到r根点亮的蜡烛,每根蜡烛持续t秒,问最少需要几根蜡烛。思路:每根蜡烛如果在j-1秒时刻点亮的话,那么蜡烛实际亮着的持续时间为j到j+t。我们只要把鬼魂来的时间存在数组里,再写个蜡烛数组,以数组里的下标做为时间轴,枚举每个时间点,并判断这个时间点,假设为j,那么判断从j-1到j-t这段时间内点亮的蜡烛数量,如果点亮的蜡烛数量

2015-07-23 19:01:29 334

原创 暑假集训——个人训练赛04——I题

字符串处理题意:调换一个位置使奇数变成最大的偶数,如果没有偶数位的话输出-1。思路:先从前往后找,找到第一个小于最后一位的偶数,然后调换位置。如果没有小于最后一位的偶数的话,再从后往前找,找到第一个偶数,然后调换位置。没有偶数的话输出-1。#include#includeint main(){ char s[100001]; while(~scanf("%s",s)) {

2015-07-23 18:44:04 329

原创 暑假集训——个人训练赛04——F题

模拟题思路:如果你实际走的方向和你需要走的方向相反的话,那么你需要走完这一棵子树上的所有点,如果相同的话,那么你只要加上你走过的这一个点。#includeint main(){ __int64 h,n; while(~scanf("%I64d%I64d",&h,&n)) { __int64 ans=0; int flag=0;//0表示左边,1表示右边 for(int

2015-07-23 18:41:16 297

原创 暑假集训——个人训练赛04——E题

贪心思路:圆心最大走过的路程为其半径的2倍,所以先用最大路程去除原来圆心到需要的新圆心的距离,如果不能整除那么答案再加上1即可。#include#includeint main(){ __int64 r,x0,y0,x1,y1; while(~scanf("%I64d%I64d%I64d%I64d%I64d",&r,&x0,&y0,&x1,&y1)) { __int64

2015-07-23 18:34:25 459

原创 暑假集训——个人训练赛04——D题

贪心思路:将学习乐器的时间按从小到大排列,这样才能在有限的天数内尽可能多地学习乐器种类。#include#include#includeusing namespace std;struct I//记录每种乐器的id和学习所需的天数{ int day; int id;}inter[101];bool cmp(I a,I b){ return a.day<b.day;

2015-07-23 18:28:04 333

原创 暑假集训——个人训练赛04——B题

并查集思路:输入时记录每个点的最终祖先,然后询问时判断是否有公共的最终祖先,有的话就可以走。注意这里要多一维来表示路的颜色。#includeconst int MAX=101;int pre[MAX][MAX];int Find(int x,int c)//递归查找最终祖先{ if(pre[x][c]==x) return x; return pre[x][c]=Find(

2015-07-23 18:25:47 323

原创 暑假集训——个人训练赛04——A题

字符串处理思路:枚举字符串的相邻两个字符之间的位置,然后插入一个新字符,判断这新的字符串是否是回文#include#includechar s[100];char t[100];int len,flag;bool is()//判断是否是回文{ for(int i=0,j=len;i<=j;i++,j--) { if(t[i]!=t[j]) return false;

2015-07-23 18:19:07 272

空空如也

空空如也

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

TA关注的人

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