题目名称 | 1438. [NOIP 2013]火柴排队 |
---|---|
输入输出 | MatchNOIP2013.in/out |
难度等级 | ★★★ |
时间限制 | 1000 ms (1 s) |
内存限制 | 128 MiB |
测试数据 | 10 |
题目来源 | 超级傲娇的AC酱 于2013-11-18加入 |
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
查看题解 | 分享题解 |
通过:368, 提交:866, 通过率:42.49% | ||||
_IOSTREAM_ | 100 | 0.043 s | 3.27 MiB | C++ |
AAAAAAAAAA | 100 | 0.044 s | 0.78 MiB | C++ |
TARDIS | 100 | 0.045 s | 3.75 MiB | C++ |
REALIZE_BEYOND | 100 | 0.064 s | 0.90 MiB | C++ |
Skyo | 100 | 0.065 s | 3.34 MiB | C++ |
HeHe | 100 | 0.066 s | 1.32 MiB | C++ |
return 0; | 100 | 0.066 s | 2.58 MiB | C++ |
Furyton | 100 | 0.073 s | 2.61 MiB | C++ |
thomount | 100 | 0.073 s | 2.96 MiB | C++ |
Youngsc | 100 | 0.075 s | 0.67 MiB | C++ |
本题关联比赛 | |||
线段数树状数组 |
关于 火柴排队 的近10条评论(全部评论) | ||||
---|---|---|---|---|
排序不等式ovo
yrtiop
2022-07-14 18:42
25楼
| ||||
瞎做过了。。。。
| ||||
日常发评论
日常发代码 我代码里面有我自认为正确的证明 虽然我不知道为什么求逆序对是对的 | ||||
回复 @Hzoi_Queuer :
+1
Frank
2016-11-18 17:05
22楼
| ||||
写着写着忘取模了。。。。。。
Hzoi_Queuer
2016-10-23 20:44
21楼
| ||||
| ||||
merge_sort 直接AC……
第一版脑残了写了个 O(n^2) 就提交了…… | ||||
mdzz....T了两次不造为啥,后来发现是大数据那里数组开小了...
| ||||
回复 @cstdio :
手残忘加%99999997 | ||||
..写着写着脑袋就晕了,也没有取模。不过发现自己跑的挺快,于是又邪恶的加了个快读。 ~.~
|
涵涵有两盒火柴,每盒装有 n 根火柴,每根火柴都有一个高度。现在将每盒中的火柴各自排成一列,同一列火柴的高度互不相同,两列火柴之间的距离定义为:$\sum_{i=1}^{n}(a_i-b_i)^2$,其中 $a_i$ 表示第一列火柴中第 i 个火柴的高度,$b_i$ 表示第二列火柴中第 i 个火柴的高度。
每列火柴中相邻两根火柴的位置都可以交换,请你通过交换使得两列火柴之间的距离最小。请问得到这个最小的距离,最少需要交换多少次? 如果这个数字太大,请输出这个最小交换次数对 99,999,997 取模的结果。
共三行,第一行包含一个整数 n,表示每盒中火柴的数目。
第二行有 n 个整数,每两个整数之间用一个空格隔开,表示第一列火柴的高度。
第三行有 n 个整数,每两个整数之间用一个空格隔开,表示第二列火柴的高度。
输出共一行,包含一个整数,表示对 最少交换次数对 99,999,997 取模的结果。
4 2 3 1 4 3 2 1 4
1
最小距离是 0,最少需要交换 1 次,比如:交换第 1 列的前 2 根火柴或者交换第 2 列的前 2 根火柴。
4 1 3 4 2 1 7 2 4
2
最小距离是 10,最少需要交换 2 次,比如:交换第 1 列的中间 2 根火柴的位置,再交换第 2 列中后 2 根火柴的位置。
对于10%的数据,$1\leq n\leq 10$;
对于30%的数据,$1\leq n\leq 100$;
对于60%的数据,$1\leq n\leq 1,000$;
对于100%的数据,$1\leq n\leq 100,000,0\leq$火柴高度$\leq 2^{31}-1$。
NOIP2013 Day1 Task2