贪心
细雨欣然
孤单是一个人的狂欢
展开
-
NOIP2010普及组 导弹拦截(保卫国家,人人有责)
这道题我一开始不知道怎么做,我想了半天才想出来可以用一点数学的知识(按圆的连线的切线划分),但是我不知道怎么打代码,我就机智地推了一个公式出来:a.y*(y2-y1)-(x1-x2)a.x#include<cstdio>#include<cstdlib>#include<iostream>#include<algorithm>using namespace std;const int ma原创 2016-07-25 09:43:33 · 765 阅读 · 0 评论 -
《挑战程序设计竞赛》164页 区域个数
【问题描述】 w*h的格子画了n条或垂直或水平宽度为1的直线,求出这些格子被划分成了多少个4连块(上、下、左、右连通)。 【输入格式】 第一行包含两个整数:w和h,表示矩阵的列数和行数(行列编号都从1开始)。 第二行包含一个整数n,表示有n条直线。 接下来的n行,每行包含四个整数:x1,y1,x2,y2,表示一条直线的列号和行号。【输出格式原创 2016-07-22 11:18:18 · 500 阅读 · 0 评论 -
POJ 1032 最大乘积
【问题描述】 一个正整数一般可以分为几个互不相同的自然数的和,如3=1+2,4=1+3,5=1+4=2+3,6=1+5=2+4,…。 现在你的任务是将指定的正整数n分解成若干个互不相同的自然数的和,且使这些自然数的乘积最大。 【输入格式】 只一个正整数n。【输出格式】 是最大的乘积。【输入样例】 10【输出样例】 30 【数据范围】 3 ≤ n ≤ 10000【来源】原创 2016-07-22 10:42:29 · 861 阅读 · 0 评论 -
poj 1201 序列加强版
【问题描述】 有一个整数序列,他的每个数各不相同,我们不知道他的长度是多少(序列中整数的个数)。但我们知道某些区间中至少有多少个整数,用三个参数:Li,Ri,Ci来描述,其意义表示这个整数序列中至少有Ci个数来至区间[Li,Ri],给出若干个这样的信息,问这个整数序列的长度最少能为多少?【输入格式】 第一行一个整数N,表示给出的信息条数; 接下来N行,每行三个整数:Li,Ri,Ci原创 2016-07-19 14:40:40 · 381 阅读 · 0 评论 -
NOIP2002提高组第1题 均分纸牌
【问题描述】 有 n 堆纸牌,编号分别为 1,2,…,n。每堆上有若干张,但纸牌总数必为 n 的倍数。可以在任一堆上取若于张纸牌,然后移动。 移牌规则为:在编号为 1 堆上取的纸牌,只能移到编号为 2 的堆上;在编号为 n 的堆上取的纸牌,只能移到编号为 n-1 的堆上;其他堆上取的纸牌,可以移到相邻左边或右边的堆上。 现在要求找出一种移动方法,用最少的移动次数使每堆上纸牌数都一样多。原创 2016-07-16 17:28:50 · 568 阅读 · 1 评论 -
最优生成树 并查集和贪心的运用
【问题描述】 给出N个顶点、E条边的连通无向简单图,请你完成下列任务:任务1、求边权和最小的生成树(最小生成树) 任务2、求边权和最大的生成树(最大生成树) 任务3、求最大边最小的生成树(瓶颈生成树) 任务4、求最小边最大的生成树(瓶颈生成树) 【输入格式】 第一行:两个整数N,E(N<=50000,E<=100000),分别表示有N个新岛,E对能直接用电缆连接的岛屿,其中主岛为1。原创 2016-07-12 12:12:04 · 279 阅读 · 0 评论 -
《挑战程序设计竞赛》135页 poj 1328 安装雷达
【问题描述】 在一个坐标系中,x轴代表海岸线,x轴以上是大海。在海上有n个岛屿。现在打算在x轴上建一些雷达,一部雷达的覆盖范围为半径为 d 的圆。请你计算在x轴上最少建多少部雷达,才能把全部的岛屿覆盖起来,如果不能覆盖,输出-1。 【输入格式】 输入包含若干组数据,每组数据的第一行为整数 n 和 d ,它们的意义如题目描述。接下来的 n 行,每行为两个整数 x原创 2016-08-07 16:18:35 · 217 阅读 · 0 评论 -
上升序列
【问题描述】 对于一个给定的S={a[1],a[2],a[3],…,a[N]},若有P={a[x1],a[x2],a[x3],…,a[xm]},满足(x1 < x2 < … < xm)且(a[x1] < a[x2] < … < a[xm])。那么就称 P 为 S 的一个上升子序列。如果有多个P满足条件,那么我们想求字典序最小的那个。 给出S序列,给出若干询问。对于第i个询问,求出长度为Li的原创 2016-09-06 19:32:12 · 385 阅读 · 0 评论 -
NOIP2010提高组 引水入城
【问题描述】 这道题要分几个成部分看。 第一部分(30分) 一个简单的多源BFS从第一行的点出发能到达哪些最后一行的点。 第二部分 算法1:(60分) 先用多个BFS统计出第一行每个点能到达的最后一行的点,让后枚举每个点选还是不选,最后看能否选完,输出选的最小个数。 算法2:(100分)这种算法你需要发现一个隐藏道具(悄悄告诉你吧:如果能覆盖完,那么第一行每个点所能到的最后一行的点是连续的原创 2016-09-19 19:35:38 · 361 阅读 · 0 评论