POJ1723,1050,HDU4864题解(贪心)
POJ1723 Soldiers
思维题。
考虑y坐标,简单的货舱选址问题,选择中位数即可。
再考虑x坐标,由于直接研究布置方法非常困难,可以倒着想:不管如何移动,最后的坐标总是相邻的,且根据贪心的思路,站队前后士兵的相对位置应该不变。那么记\(pos\)为最后水平线起点的前一位置,则有\(x_1-1=pos,x_2-2=pos,...,x_n-n=pos\),所以答案为\(\sum_{i=1}^{n}|(x_i-i)-k|\),这样就又变成了一道中位数的题目。
不放代码了。
POJ1050 To the Max
贪心(其实严格来讲是一道DP题
求最大子矩阵之和,考虑将它转化为最大子段和问题,我们可以对于每一列枚举所有的\(i,j\)(即加起来不同的情况),然后这样把每一列变成一个数,拿做最大字段和的方法来求解即可。
复杂度\(O(n^3)\)。
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int n,a[105][105],t[105],sum,ans=-0x3f3f3f3f;
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;++i)
for(int j=1;j<=n;++j)
scanf("%d",&a[i][j]);
for(int i=1;i<=n;++i)
{
memset(t,0,sizeof(t));
for(int j=i;j<=n;++j)
{
sum=0;
for(int k=1;k<=n;++k)
{
sum+=t[k]+=a[j][k]; //注意这里先枚举j再枚举k,所以此时t[k]已经包含之前算过的值了(考虑前缀和
ans=max(ans,sum);
if(sum<0) sum=0;
}
}
}
printf("%d",ans);
return 0;
}
HDU4864 Task
其实这题应该思考一下就能想出来了……(才怪
考虑x与y对利润的贡献,可以发现题目的数据范围保证了贪心算法的正确性——x远大于y对利润的贡献,所以考虑对任务按x从大到小排序,对每个任务选出满足条件且y值最小的机器。
证明的话……一般不会说显然就完事了,不过也可以明天上课的时候推一下
#include <cstdio>
#include <set>
#include <algorithm>
using namespace std;
int n,m,cnt;
long long ans;
struct P{int x,y;}a[100005],b[100005];
multiset<int> s;
bool cmp(P x,P y) {return x.x==y.x?x.y<y.y:x.x<y.x;}
int main()
{
while(~scanf("%d%d",&n,&m))
{
s.clear(); cnt=ans=0;
for(int i=1;i<=n;++i) scanf("%d%d",&a[i].x,&a[i].y);
for(int i=1;i<=m;++i) scanf("%d%d",&b[i].x,&b[i].y);
sort(a+1,a+n+1,cmp); sort(b+1,b+m+1,cmp);
for(int i=m,j=n;i;--i)
{
while(j && a[j].x>=b[i].x) s.insert(a[j--].y);
multiset<int>::iterator it=s.lower_bound(b[i].y);
if(it!=s.end())
{
cnt++; ans+=b[i].x*500+b[i].y*2;
s.erase(it);
}
}
printf("%d %lld\n",cnt,ans);
}
return 0;
}
继续加油啊……
POJ1723,1050,HDU4864题解(贪心)的更多相关文章
- [HDU4864]Task (贪心)
此图和上一篇博客的图一起看有奇效 题意 https://vjudge.net/problem/HDU-4864 思路 贪心 代码 by lyd 我实在是敲不来 #include <iostrea ...
- 洛谷P2460 [SDOI2007]科比的比赛(题解)(贪心+搜索)
科比的比赛(题解)(贪心+搜索) 标签:算法--贪心 阅读体验:https://zybuluo.com/Junlier/note/1301158 贪心+搜索 洛谷题目:P2460 [SDOI2007] ...
- hdu4864 hdu4268 贪心 lower_bound
hdu4864 题意: 有n个机器,m个任务,n,m<=100000,每个机器都有工作时间的最大限制xi(0<xi<1440)和完成的最大难度yi(0<=yi<=100) ...
- --hdu 1050 Moving Tables(贪心)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1050 AC code: #include<stdio.h> #include<str ...
- PAT甲级1007题解——贪心
题目分析:对于每一个点来说,如果选择合并入包含前一个点的序列那么只有在前一个点的序列不为负数(这里指的是包含前一个位置的数的一个连续序列的和不为负数),当前点才会将自己也加入这个子序列,否则,当前点则 ...
- CF336C-Vasily the Bear and Sequence题解--贪心
题目链接 https://www.luogu.org/problemnew/show/CF336C 分析 一个比较妙的贪心 我们要让最后\(and\)起来的数被\(2^k\)整除且\(k\)最大,我们 ...
- Codeforces 515C 题解(贪心+数论)(思维题)
题面 传送门:http://codeforces.com/problemset/problem/515/C Drazil is playing a math game with Varda. Let’ ...
- 洛谷P2672 推销员 题解 贪心
题目链接:https://www.luogu.org/problem/P2672 这道题目是贪心,贪心的思想是: 选择 \(m\) 户人家的最大疲劳值应该是以下两种方案中的较大值: 方案一:选择 \( ...
- hdu 1050 Moving Tables_贪心
题意:你搬n个桌子,桌子从一个地方搬到另一个地方,走廊只允许同时一个桌子通过,教室分布在两边,奇数在一边,偶数在一边,当桌子不冲突时可以同时搬运,冲突时要等别的那个桌子搬完再搬. 思路:因为奇数桌子在 ...
随机推荐
- JVM 垃圾回收算法和垃圾回收器
JVM 垃圾回收算法和垃圾回收器. 一.垃圾回收的区域 栈:栈中的生命周期是跟随线程,所以一般不需要关注. 堆:堆中的对象是垃圾回收的重点. 方法区:这一块也会发生垃圾回收,不过这块的效率比较低,一般 ...
- NX二次开发】Block UI 选择特征
属性说明 属性 类型 描述 常规 BlockID String 控件ID Enable Logical 是否可操作 Group ...
- 【NX二次开发】不健全的双击按钮。
为什么说不健全,是因为 双击按钮时会先运行单击事件,这个后面再解决.但是模仿某公司的图层操作工具是没有问题了,因为这个工具运行双击事件时本来就需要运行单击事件,不仔细看容易被唬住. 图层操作工具(双击 ...
- docker0-常用命令-持续更新
问君哪得清如许,为有源头活水来 1,帮助命令 docker version docker info docker 命令 --help 2,仓库\镜像 docker images 查看所有本地镜像 do ...
- 【题解】Luogu P1011 车站
题目描述 火车从始发站(称为第1站)开出,在始发站上车的人数为a,然后到达第2站,在第2站有人上.下车,但上.下车的人数相同,因此在第2站开出时(即在到达第3站之前)车上的人数保持为a人.从第3站起( ...
- redis cluster如何支持pipeline
当我们要操作一批key时,可以通过 redis pipline 再执行完后一次性读取所有结果来较少网络传输的消耗: 很明显,这有个限制条件 => 这批key的执行必须在同一个连接上 当部署的re ...
- asp.net core 实现 face recognition 使用 tensorflowjs(源代码)
功能描述 上传照片文件名及是系统要识别标签或是照片的名称(人物标识) 提取照片脸部特征值(调用 facemesh模型) 保存特征值添加样本(调用 knnClassifier) 测试上传的图片是否识别正 ...
- RobotFramework + Python 自动化入门 四 (Web进阶)
在<RobotFramwork + Python 自动化入门 一>中,完成了一个Robot环境搭建及测试脚本的创建和执行. 在<RobotFramwork + Python 自动化入 ...
- js笔记18
1.面向对象 (1)单例模式 (2)工厂模式 (3)构造函数 a.类 js天生自带的类 基类 object 子类 Function Array Number Math Boolean ...
- 7.8、如何制作openstack镜像
1.创建openstack-linux镜像: 下载已经做好的的镜像:https://docs.openstack.org/image-guide/obtain-images.html#centos ( ...