Educational Codeforces Round 7 D. Optimal Number Permutation(构造)
来源:互联网 发布:男尊女卑 日本 知乎 编辑:程序博客网 时间:2024/05/22 14:44
题意:
N≤5×105,有1∼N各出现2次的序列
如果数i在xi,yi位置,设di=yi−xi
试构造一个序列使得s=∑i=1n(n−i)⋅|di+i−n|最小
分析:
我们发现i=n的贡献一定是0,也就是说2个n可以随意放
其实可以发现一定可以构造出s=0的序列
奇数n=5:13X31 2442,缺个X填n就好了
偶数n=6:24X42 135531,缺个X填n就好了
其实规律一样的,不用分开,赛上写的急,而且也不用算n的位置,直接填到没填的地方就可以了。。。
代码:
//// Created by TaoSama on 2016-02-11// Copyright (c) 2016 TaoSama. All rights reserved.//#pragma comment(linker, "/STACK:1024000000,1024000000")#include <algorithm>#include <cctype>#include <cmath>#include <cstdio>#include <cstdlib>#include <cstring>#include <iomanip>#include <iostream>#include <map>#include <queue>#include <string>#include <set>#include <vector>using namespace std;#define pr(x) cout << #x << " = " << x << " "#define prln(x) cout << #x << " = " << x << endlconst int N = 1e6 + 10, INF = 0x3f3f3f3f, MOD = 1e9 + 7;int n, a[N];int main() {#ifdef LOCAL freopen("C:\\Users\\TaoSama\\Desktop\\in.txt", "r", stdin);// freopen("C:\\Users\\TaoSama\\Desktop\\out.txt","w",stdout);#endif ios_base::sync_with_stdio(0); while(scanf("%d", &n) == 1) { int i, j; if(n & 1) { for(i = 1, j = 1; j < n; ++i, j += 2) a[i] = a[i + n - j] = j; a[i] = a[i + n / 2 + 1] = n; for(i = n + 2, j = 2; j < n; ++i, j += 2) a[i] = a[i + n - j] = j; } else { for(i = 1, j = 2; j < n; ++i, j += 2) a[i] = a[i + n - j] = j; a[i] = a[i + n / 2] = n; for(i = n + 1, j = 1; j < n; ++i, j += 2) a[i] = a[i + n - j] = j; } for(int i = 1; i <= n << 1; ++i) printf("%d%c", a[i], " \n"[i == (n << 1)]); } return 0;}
0 0
- Educational Codeforces Round 7 D. Optimal Number Permutation(构造)
- Educational Codeforces Round 7--D. Optimal Number Permutation
- Educational Codeforces Round 7-D. Optimal Number Permutation
- Codeforces edu 7 D. Optimal Number Permutation 构造
- Codeforces 622D Optimal Number Permutation(构造)
- CodeForces 622D Optimal Number Permutation(构造)
- CodeForces 622 D.Optimal Number Permutation(构造)
- D. Optimal Number Permutation(构造)
- codeforces edu round7 D Optimal Number Permutation构造
- Codeforces 622D Optimal Number Permutation【贪心+构造】
- Educational Codeforces Round 7(D)构造(STL deque)
- Codeforces 622D Optimal Number Permutation 【贪心】
- codeforces 622D Optimal Number Permutation 思维
- Optimal Number Permutation CodeForces
- codeforces_622D. Optimal Number Permutation(构造)
- cf#ecr7-D - Optimal Number Permutation-构造+脑洞
- Educational Codeforces Round 14 D. Swaps in Permutation
- Educational Codeforces Round 14-D. Swaps in Permutation
- android:第二个anroid项目 电话拨号器
- java.lang.NoClassDefFoundError: javax/persistence/Cacheable
- Hibernate【1】(安装 JBoss Tools,集成Hibernate)
- Android之-异步消息处理机制
- Alex-Word-Filter-MFC网络版(修正版)
- Educational Codeforces Round 7 D. Optimal Number Permutation(构造)
- 服务器选型参考TPC-C值
- 创建及调用基于QT5 QML的 DLL(举例QML中使用QZXing识别二维码)
- poj_1458 Common Subsequence(最长公共子序列)
- 蓝桥杯-基础练习-特殊的数字
- 【VB】窗体透明一:窗体透明,控件不透明(穿过)
- 51nod(1264)——线段相交
- JDBC连接并使用mysql数据库
- NYOJ832 合并游戏 状压DP+记忆化搜索