Codeforces Round #177 (Div. 2)(完全)
来源:互联网 发布:centos查看uuid 编辑:程序博客网 时间:2024/04/30 17:08
A
B 以中位数为基准
C 别忘记 k == 1 && n == 1 的情况
D 公式 k^(k-1)*(n-k)^(n-k) 还没推出来,比赛的时候是凑出来的
E 贪心,最大化使其二进制位上的1不要被异或掉。
#include <cstdio>#include <cstring>#include <algorithm>#include <iostream>using namespace std;#define LL __int64int f[33];bool vis[1000006];int ans[1000006];int get(int i) { int c = 0; while(i) {c++, i>>=1;} return c;}int main() { int i, n; f[0] = 0; for(i = 1; i <= 31; i++) f[i] = f[i-1]<<1|1; cin >> n; LL cnt = 0; for(i = n; i >= 0; i--) if(!vis[i]) { int a = get(i); ans[i] = f[a]-i; ans[f[a]-i] = i; vis[i] = vis[f[a]-i] = 1; cnt += 2*f[a]; } printf("%I64d\n", cnt); for(i = 0; i <= n; i++) printf("%d ", ans[i]); puts(""); return 0;}
- Codeforces Round #177 (Div. 2)(完全)
- Codeforces Round #177 (Div. 1)(完全)
- Codeforces Round #158 (Div. 2) (完全)
- Codeforces Round #160 (Div. 2)(完全)
- Codeforces Round #161 (Div. 2)(完全)
- Codeforces Round #161 (Div. 2)(完全)
- Codeforces Round #163 (Div. 2) (完全)
- Codeforces Round #162 (Div. 2) (完全)
- Codeforces Round #163 (Div. 2)(完全)
- Codeforces Round #164 (Div. 2) (完全)
- Codeforces Round #165 (Div. 2)(完全)
- Codeforces Round #168 (Div. 2) (完全)
- Codeforces Round #167 (Div. 2) (完全)
- Codeforces Round #169 (Div. 2) (完全)
- Codeforces Round #169 (Div. 2)(完全)
- Codeforces Round #171 (Div. 2)(完全)
- Codeforces Round #171 (Div. 2)(完全)
- Codeforces Round #178 (Div. 2)(完全)
- 网页学习计划
- Cstring转成int
- 在一个字符串中找到第一个只出现一次的字符
- C#学习笔记(九)-使用ListView控件展示数据
- java一周年
- Codeforces Round #177 (Div. 2)(完全)
- Linux on Power 上的调试工具和技术(IBM developverwork)
- linux-arm中断系统之GIC
- 为什么说AWT是重量级控件,而Swing是轻量级控件?
- JavaScript之appendChild、insertBefore和insertAfter使用说明
- 数据库性能优化深入浅析
- Zero Clipboard js+swf实现的复制功能使用方法
- 分数类
- Qt源码分析之corelib