poj1723 SOLDIERS】的更多相关文章

题意 给出n个点的坐标,它们只能往上.下.左.右一格一格地移动,求使其移动至水平线上的最小步数. 思路 转载 先易后难,对于纵向的问题,我们推个公式,,这个很容易看出是货仓选址问题,k取y[i]的中位数就可以了.对于横向的问题,同样推一下公式,,推到这里,我们把与i相关的项全部合在了一起,只要把x[i]-i看作一个整体,这个子问题也是中位数问题. 代码 //poj1723 #include<cstdio> #include<algorithm> #include<cmath&…
soldiers真乃神题也! 行列显然可以分开处理. 行好办,显然就是一个货仓选址问题,取中位数即可. 列呢?? ?????? 因为懒得推式子,用不了二分,我决定使用枚举大法!一算复杂度O(n^2),勉强可以卡过. 于是我做好了卡常数的准备,正在实现枚举及求值时,得到了援助: 你把士兵按照x排序,然后把x[i] - i即可转化为行上面的. 我略加思索:排好后是x[1], x[1] + 1, x[i] + 2, ..., x[i] + (i - 1) 那么我事先减去,便是x[1], x[1], x…
SOLDIERS 有一个性质:在一个长为n的序列a中找一个数 \(a_k\) 使得 \(\sum\limits_{i=1}^n abs(a_i-a_k)\) 最小,则 \(a_k\) 是a的中位数. 于是在这题里,对于纵坐标直接找中位数,算一遍上面的式子即可. 横坐标稍加处理:先从小到大排序,此时数组的下标就是士兵最后从左到右的顺序.然后还是找中位数.但是每个士兵是从左到右站,而不是在一条直线上.后来想到把每个士兵的横坐标 \(x_i\) 减去i,这样士兵都在一条直线上,再套用上面的式子即可.…
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 T…
$Poj$ $AcWing$ $Description$ $Sol$ 分别处理$x$坐标和$y$坐标.$y$坐标显然很好处理,就是排个序然后取中位数就好了.$x$没有$y$那么直接叭.所以我首先写了个大暴力$ovo$,居然过了$AcWing$(太水了).当然过不了$Poj$.所以再观察一下,发现对于枚举的一个$x$作为一条平行线的左端点的$x$值,排序后,累计答案为$as+=abs(x[i]-(x+i-1))$,整理一下,$as+=abs((x[i]-i+1)-x)$,发现被减数是一定的,于是现…
1.链接地址: http://bailian.openjudge.cn/practice/1723/ http://poj.org/problem?id=1723 2.题目: 总时间限制: 1000ms 内存限制: 65536kB 描述 N soldiers of the land Gridland are randomly scattered around the country. A position in Gridland is given by a pair (x,y) of integ…
转:http://www.imfdb.org/wiki/13_Hours:_The_Secret_Soldiers_of_Benghazi The following weapons were used in the film 13 Hours: The Secret Soldiers of Benghazi: Contents [hide]  1 Handguns 1.1 SIG-Sauer P226R 1.2 Salient Arms International Glock 19 1.3 G…
Sky Soldiers Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 559    Accepted Submission(s): 181 Problem Description An airplane carried k soldiers with parachute is plan to let these soldiers j…
1749: Soldiers ' Training Time Limit: 1 Sec  Memory Limit: 512 MBSubmit: 37  Solved: 18[Submit][Status][Web Board] Description In a strategic computer game "Settlers II" one has to build defense structures to expand and protect the territory. Le…
SOLDIERS Time Limit: 1000ms Memory Limit: 10000KB This problem will be judged on PKU. Original ID: 172364-bit integer IO format: %lld      Java class name: Main   N soldiers of the land Gridland are randomly scattered around the country. A position i…
As you are probably well aware, in Byteland it is always the military officer's main worry to order his soldiers on parade correctly. In Bitland ordering soldiers is not really such a problem. If a platoon consists of n men, all of them have differen…
ORDERS - Ordering the Soldiers As you are probably well aware, in Byteland it is always the military officer's main worry to order his soldiers on parade correctly. In Bitland ordering soldiers is not really such a problem. If a platoon consists of n…
返回本章节 返回作业目录 需求说明: 创建士兵类(Soldiers),定义有一个String类型参数name,代表士兵的姓名,两个int类型变量x和y,分别表示士兵所在的坐标位置,x代表横坐标,y代表纵坐标.在士兵类中定义一个带3个参数的构造方法,它们分别对应士兵的姓名.横坐标和纵坐标.在主方法中利用for循环创建5个士兵对象,每个士兵对象的姓名以及x,y坐标均通过控制台输入. 实现思路: 创建士兵类(Soldiers). 在该类中定义一个有参数的构造方法,该方法包含一个String类型的形参变…
题意:设原数组为a[i],pos[i]代表第 i 个位置之前有多少个数比a[i]大,求原数组a[i]. 这个题意是看了别人的题解才明白,我自己没读出来…… 方法:假设我们从左往右放,因为后面的数还有可能影响前面的数的位置,所以在最后一个数放完之前,我们没法确定每个数的位置,所以我们反过来考虑,从右往左放.因为每个数前面比它大的数的个数pos[i]已知,我们可以不必关心这些数的具体数值,从而转化为它从右往左走了多少个空格,即pos[i]个,因此这个数放在第 pos[i] + 1 个空格位置上.这个…
动态规划,主要是用单调性求区间的最小期望. 代码如下: #include<iostream> #include<stdio.h> #include<algorithm> #include<iomanip> #include<cmath> #include<cstring> #include<vector> #include<map> #define MAX 1004 #define inf 1<<2…
1. 题目描述有$k$个伞兵跳伞,有$m$个汇点.当伞兵着陆后,需要走向离他最近的汇点.如何选择这$m$个结点,可以使得士兵最终行走的距离的期望最小.求这个最小的期望. 2. 基本思路假设已经选好了这$m$个汇点,这也就确定了每个士兵的可能着陆点需要继续行走的距离.因此,这个期望为\begin{align}    E_{min} &= \sum_{i=1}^{k} \sum_{j=1}^{L_i} minDis(X_{ij}) * P_{ij}\end{align}显然这等价于\begin{al…
题目大意: 平面上有N(N<=10000)个点,求这些点变成一条水平线的最小移动步数. 算法讨论: 表示自己太弱弱了,打算从今天开始提高一下智商. 我们考虑,既然是要成一条水平线,那么这条直线的y坐标肯定是所有y的中位数了.这是不用置疑的.所以我们只要求出中位数,然后对y坐标的距离差求下和就可以了. 对于x坐标,我们这样考虑,既然题目要求是最小步数,那么也就是说,这些博士兵在水平位置上的相对位置不变,换个意思说就是 原来三个士兵的x坐标是 -1 5 6,那么在他们移动之后,假设移动成一条直线之后…
题目 http://poj.org/problem?id=1723 题解 带权中位数类型的题目~ 可以先考虑降维,最后集合的y坐标,明显是y坐标的中位数的位置,容易求出y方向的贡献res_y.比较麻烦的是在x坐标上最后是要列成一排,而不是单独的一个点,我们可以假设最后集合的最左边的点是x,采用贪心的策略列出公式:res_x=sum(abs(xi-x-i))(i belongs to [0,n-1]).令zi=xi-i,就转化为res_x=sum(abs(zi-x)),这相当于求zi数列的中位数(…
题目:http://www.spoj.com/problems/ORDERS/ and pid=2852">http://acm.hdu.edu.cn/showproblem.php? pid=2852 题意:spoj227:告诉每一个位置前面有多少个数比当前位置小,求出原序列. hdu2852:设计一个容器,支持几种操作:添加/删除元素,求容器中比a大的数中第k小的数是多少. 分析:两个题思路都是求数组里面的第K小的数.開始一直在找O(N*logN)的方法,后来发现O(N*logN*lo…
题目传送门 题目大意:平面上有n个士兵,给出每个士兵的坐标,求出使这些士兵站好所需要的最少移动步数.站好要求:所有士兵y相等,x相邻.即达到 (x,y), (x+1, y), (x+2,y)……的状态.(每行不相邻) $Sol$ 我们很容易能想到,让所有士兵y相等就要把他们都移动到所有士兵y的中位数上.这时可能存在有士兵重合在同一格点的情况.后来x轴的情况: x轴时,先进行一次排序后,假设水平线上的n个点存储在数组a[n]中,则第一个点a[0]最终排序后的位置是addr,a[1]的最终位置是(a…
[题目链接] http://poj.org/problem?id=1723 [算法] 中位数 [代码] #include <algorithm> #include <bitset> #include <cctype> #include <cerrno> #include <clocale> #include <cmath> #include <complex> #include <cstdio> #includ…
题目描述 在一个划分成网格的操场上, n个士兵散乱地站在网格点上.由整数 坐标 (x,y) 表示.士兵们可以沿网格边上.下左右移动一步,但在同时刻任一网格点上只能有名士兵.按照军官的命令,们要整齐地列成个水平队列,即排成 队列,即排成 (x,y),(x+1,y), …,(x+n -1,y) .如何选择 x 和y的值才能使 士兵们以最少的总移动步数排成一列. 输入输出格式 输入格式: 文件的第 1 行是士兵数 n,1≤n≤10000 .接下来 n 行是士兵的初始位置, 每行 2 个整数 x 和y,…
这部2006年上映的作品豆瓣评分9.3,时至今日仍然有人乐此不疲地讨论剧情和启发,我想称之为经典应该不算过分. 这部剧我至少完整看过3遍,随着阅历增加,对某些角色的体会也变得更深刻. 许三多 许三多是幸福的.从老马.史今到袁朗,他的成长,总有贵人相助,再加上自身近乎于偏执地努力,成为"兵王"并非意外. 每个开始,总会艰难一些. 初来乍到,面对自家坦克,他举手投降,连长怒了.于是,红三连,五班. 就像初入社会,没什么朋友,周围的东西和我们格格不入,许三多的境遇大抵如此了. 那个"…
CodeChef:ORDERS 简化题意: \(n\) 个人排队,给定每个人需要向左移动几个,求最终排列. 即还原逆序对. 错误想法 既然知道每个人向左移动 \(a_i\) 个,那就相当于让他的排名 \(-a_i\),他前面 \(a_i\) 个人的排名 \(+1\),差分即可. 问题在于他前面的 \(a_i\) 应是前面的人排好后的后 \(a_i\) 个,直接差分则是原序列中的. sol 考虑倒着做.最后一个人的排名显然是 \(n-a_n\),则第 \(n-1\) 个人则是剩余排名中第 \(n-…
原文 History lives on in this distinguished Polish city Though it may be ancient. KraKow, Poland, is alive and well as it celebrates and commemorates its meaningful history. Looking up When scaning the skies of Krakow,most agree that Wawel Castle cast…
转载来自: http://www.infocool.net/kb/PHP/201607/168683.html a 函数 说明 abs 绝对值 acos 反余弦 acosh 反双曲余弦 addcslashes 以 C 语言风格使用反斜线转义字符串中的字符 addslashes 使用反斜线引用字符串 apache_child_terminate 在本次请求结束后终止 apache 子进程 apache_getenv 获取 Apache subprocess_env 变量 apache_get_mo…
消息队列对大多数人应该比较陌生.但是要提到MQ听说过的人会多很多.MQ就是英文单词"Message queue"的缩写,翻译成中文就是消息队列(我英语差,翻译错了请告知). PS:话说国人熟悉MQ比消息队列多,是不是因为国人的外语水平高于国语水平好几个数量级 1.看一下度娘怎么解释消息队列 参考链接:消息队列_百度百科 度娘解释消息队列是在两台计算机间传输的,套句很时髦的说法就是用来做分布式传输的,是个很高大上的东西 2.我的看法稍有不同 我更追溯到“消息队列”的字面“本源”的意思.我…
题目 Source http://codeforces.com/problemset/problem/118/D Description Gaius Julius Caesar, a famous general, loved to line up his soldiers. Overall the army had n1 footmen and n2 horsemen. Caesar thought that an arrangement is not beautiful if somewhe…
FZU 2107 Hua Rong Dao Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u  Practice  Description Cao Cao was hunted down by thousands of enemy soldiers when he escaped from Hua Rong Dao. Assuming Hua Rong Dao is a narrow aisl…
Strategic Game Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 7651    Accepted Submission(s): 3645 Problem Description Bob enjoys playing computer games, especially strategic games, but somet…