LA 3708 墓地雕塑(模拟)
题目链接:https://vjudge.net/problem/UVALive-3708
这道题的思路也是比较难想。
首先根据上一题(Uva 11300)可知,要想让移动距离最短,那么至少要使一个雕塑位置不变,随便一个即可。然后以它为坐标原点,以逆时针为正方向,钦定每一个雕塑的新位置。
然后我们设$pos$,那么可得到等式:
$\frac{i}{n} =\frac{pos}{n+m} <=> pos=i\times (n+m)\div n$
然后累加移动距离:
(移动距离=移动 / 总的距离)
移动距离=$|pos-floor(pos+0.5)|\div (n+m)$
这里的距离是按比例缩小之后的距离,接下来把每个雕塑移动到离它最近的位置,然而不可能出现“人多坑少”的情况。(证明详细见 蓝书P9)
(注意四舍五入:$pos=floor(pos+0.5)$
AC代码:
#include<cstdio>
#include<iostream>
#include<cmath>
using namespace std; int n,m;
double pos; int main(){
while(scanf("%d%d",&n,&m)==){
double ans=0.0;
for(int i=;i<=n;i++){
pos=(double)i/n*(n+m);
ans+=abs(pos-floor(pos+0.5))/(n+m);
}
printf("%.4lf\n",ans*);
}
return ;
}
AC代码
LA 3708 墓地雕塑(模拟)的更多相关文章
- LA 3708 墓地雕塑
题目链接:https://vjudge.net/contest/132704#problem/D 题意:一个长度为10000的园上,均匀分布n个雕塑,现在要加入m个雕塑,这样原先的就可能会移动,求移动 ...
- 【贪心】【POJ3154】墓地雕塑(Graveyard, NEERC 2006, LA 3708)需要稍稍加工的(先贪心,再确保能这样贪(可行性&&如果可行必定最优&&非证明最优性)的题)(K)
例题4 墓地雕塑(Graveyard, NEERC 2006, LA 3708) 在一个周长为10000的圆上等距分布着n个雕塑.现在又有m个新雕塑加入(位置可以随意放),希望所有n+m个雕塑在圆周 ...
- 墓地雕塑-LA3708
https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&category=20& ...
- Java实现蓝桥杯墓地雕塑
墓地雕塑 问题描述 在一个周长为10000的圆上等距分布着n个雕塑.现在又有m个新雕塑加入(位置可以随意放), 希望所有n+m个雕塑在圆周上均匀分布.这就需要移动其中一些原有的雕塑.要求n个雕塑移动的 ...
- C/C++每日小练(七)——墓地雕塑
墓地雕塑 题目描写叙述: 在一个周长为10000的圆上等距分布着n个雕塑. 如今又有m个新雕塑增加(位置能够任意放).希望全部n+m个雕塑在圆周上均匀分布.这就须要移动当中一些原有的雕塑.要求n个雕塑 ...
- LA 3708
题意: 在一个周长为10000的圆上等距分布着n 个雕塑,现在又有m 个新雕塑加入(位置可以随意放置), 希望所有(n+m)个雕塑在圆周上均匀分布,这就需要移动其中一些雕塑,要求n个雕塑移 ...
- [ACM_数学] LA 3708 Graveyard [墓地雕塑 圈上新加点 找规律]
Description Programming contests became so popular in the year 2397 that the governor of New Earck ...
- LA 3708 Graveyard 墓地雕塑 NEERC 2006
在一个周长为 10000 的圆上等距分布着 n 个雕塑.现在又有 m 个新雕塑加入(位置可以随意摆放),希望所有 n + m 个雕塑能在圆周上均匀分布.这就需要移动一些原有的雕塑.要求 n 个雕塑移动 ...
- LA 3708 Graveyard(推理 参考系 中位数)
Graveyard Programming contests became so popular in the year 2397 that the governor of New Earck -- ...
随机推荐
- 一看就会一做就废系列:说说 RECOVER DATABASE(下)
这里是:一看就会,一做就废系列 数据库演示版本为 19.3 (12.2.0.3) 该系列涉及恢复过程中使用的 个语句: 1. recover database 2. recover database ...
- 如何强制文件上传git仓库里
1.首先在本地创建一个文件夹里写入一个txt文件 2.然后复制你仓库的地址 3.平时正常操作都是这样上传不上 4.没关系我们使用强制上传 代码是 git push -f “你的仓库地址” mast ...
- [HTML] websocket的模拟日志监控界面
模拟命令行的界面效果,使用swoole作为websocket的服务,重新做了下html的界面效果 <html> <head> <title>SwLog Montio ...
- php多版本使用composer
适用多版本的方法 1:下载composer.phar,官网有直接下载的链接,https://getcomposer.org/download/ 2:composer.phar 复制到项目根目录 3:p ...
- asp.net 的 web form 过时了吗
本文链接:https://blog.csdn.net/closurer/article/details/79526006web form 其实是一个超前的设计. 每个厂商都希望服务器端和客户端采用同样 ...
- Virtual Judge POJ 3278 Catch That Cow
#include<iostream> #include<cstdio> #include<cstring> #include<cmath> #inclu ...
- AcWing 826. 单链表
https://www.acwing.com/activity/content/problem/content/863/1/ #include <iostream> using names ...
- ansible笔记(6):常用模块之系统模块
1.cron模块 cron命令是计划任务功能,与crontab功能类似. 示例:时间格式--->>>分 时 日 月 星期 10 12 27 * * tar -cvzf log ...
- VSCode配置FTP
首先在VScode中下载安装插件SFTP Windwos下摁Ctrl+Shift+P,输入SFTP: config命令并运行,进入sftp.json配置项如下: { "name": ...
- 安卓按键:读取txt开头出现未知字符的问题
很多时候 我们读取txt 用traceprint输出后 最头上会莫名其妙多出一个问号 但是你用问号匹配他 却匹配不到 就是1个未知字符 这个到底是什么 怎么避免出现这个东西呢 这个主要是txt文件 ...