温习一下多校的题目
这题主要抓住一点,亦或值的贡献是固定的
所以按位搜索即可

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int MAXN = 1e5+5; int n;
int A[MAXN];
ll cnt[20][20];
int d[20];
int X;
int Ed;
ll ans; void dfs(int pos,int x,ll num){
if(num > ans) return;
if(pos == Ed){
if(num < ans) { ans = num; X = x; }
else if(num == ans && X > x) X = x;
return;
}
int i = pos;
for(d[i] = 0; d[i] < 2; d[i] ++){
ll tmp = num + cnt[i][i];
for(int j = 0; j < i; ++j)
if(d[i] ^ d[j])
tmp -= cnt[i][j];
else tmp += cnt[i][j];
dfs(pos+1, x|d[i]<<i, tmp);
}
} int main(){
int T; scanf("%d",&T);
while(T--){
memset(cnt,0,sizeof(cnt)); scanf("%d",&n);
for(int i = 1; i <= n; ++i) scanf("%d",&A[i]);
for(int i = 2; i <= n; ++i) {
int t1 = A[i-1]; int t2 = A[i];
int high = 20;
while(high>=0 && ~(t1^t2)>>high&1 ) high--;
// printf("%d\n",high);
int mx = max(t1, t2);
int mi = min(t1, t2);
for(int j = high; j >= 0; --j){
cnt[high][j] += (mx&1<<j) - (mi&1<<j);
}
}
Ed = 20;
for(; Ed >0; Ed--)
if(cnt[Ed-1][Ed-1]) break;
X=0; ans=1e18;
dfs(0,0,0);
printf("%d %lld\n",X,ans);
}
return 0;
}

hdu5798 Stabilization的更多相关文章

  1. HDU 5798 Stabilization

    方法太厉害了....看了官方题解的做法....然后...想了很久很久才知道他想表达什么.... #pragma comment(linker, "/STACK:1024000000,1024 ...

  2. hdu5798

    官方题解: 考虑去掉abs符号,发现只有相邻两个数的最高位被影响了才会影响abs的符号,所以可以按照最高位不一样的位置分类,之后考虑朴素枚举x从0到2^20,每次的复杂度是O(400),无法通过,考虑 ...

  3. CF1095B Array Stabilization 题解

    Content 有一个长度为 \(n\) 的数组 \(a_1,a_2,a_3,...,a_n\),现在需要从这些数中删除一个数,使得 \(\max\limits_{i=1}^na_i-\min\lim ...

  4. HTML5 <details> 标签

    HTML5 中新增的<details>标签允许用户创建一个可展开折叠的元件,让一段文字或标题包含一些隐藏的信息. 用法 一般情况下,details用来对显示在页面的内容做进一步骤解释.其展 ...

  5. APM程序分析-ArduCopter.cpp

    该文件是APM的主文件. #define SCHED_TASK(func, rate_hz, max_time_micros) SCHED_TASK_CLASS(Copter, &copter ...

  6. OpneCv2.x 模块结构

    转自:http://blog.csdn.net/huang9012/article/details/21811271 之前啃了不少OpenCV的官方文档,发现如果了解了一些OpenCV整体的模块架构后 ...

  7. Codeforces Round #327 (Div. 2) B. Rebranding C. Median Smoothing

    B. Rebranding The name of one small but proud corporation consists of n lowercase English letters. T ...

  8. 学习 opencv---(1) opencv3.1.0 组件结构浅析

    本系列是根据 浅墨大神 的opencv系列而写的,,应该大部分内容会一样..如有侵权还请告知........... 开发环境:win7 + VS2013 + opencv3.1.0 至于OpenCV组 ...

  9. OpenCV整体的模块架构

    之前啃了不少OpenCV的官方文档,发现如果了解了一些OpenCV整体的模块架构后,再重点学习自己感兴趣的部分的话,就会有一览众山小的感觉,于是,就决定写出这篇文章,作为启程OpenCV系列博文的第二 ...

随机推荐

  1. 洛谷 [P2763]试题库问题

    非常舒适的最大流 非常显然的建图方法,然而因为数组开小卡了很长时间 #include <iostream> #include <cstdio> #include <alg ...

  2. BZOJ 3926: [Zjoi2015]诸神眷顾的幻想乡 [广义后缀自动机 Trie]

    3926: [Zjoi2015]诸神眷顾的幻想乡 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 1124  Solved: 660[Submit][S ...

  3. ettercap+urlsnarf+driftnet+wireshark监听妹子上网

    搞事肯定得确认目标.所以我们得先确认一个目标 确认目标这种事情不多说.   1.开启IP转发 echo 1 > /proc/sys/net/ipv4/ip_forward 然后ettercap ...

  4. SDP(6):分布式数据库运算环境- Cassandra-Engine

    现代信息系统应该是避不开大数据处理的.作为一个通用的系统集成工具也必须具备大数据存储和读取能力.cassandra是一种分布式的数据库,具备了分布式数据库高可用性(high-availability) ...

  5. Composer 结合 Git 创建 “服务类库”

    Composer 结合 Git 创建 "服务类库" 我一直认为,现在的 PHP 已经进展到了工程化的领域.以前的 PHP 开发者,以快为美,速度和规模永远都是矛盾体.现在的 PHP ...

  6. nginx的location优先级

    在nginx配置文件中,location主要有这几种形式: 1. 正则匹配 location ~ /abc { } 2. 不区分大小写的正则匹配 location ~* /abc { } 3. 匹配路 ...

  7. xBIM WeXplorer xViewer的导航,相机、剖切、隐藏 等操作

    目录 基础 xBIM WeXplorer 简要介绍 xBIM WeXplorer xViewer 基本应用 xBIM WeXplorer xViewer 浏览器检查 xBIM WeXplorer xV ...

  8. Java经典编程题50道之五

    利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示. public class Example05 { public static ...

  9. c中有序表的简单定义

    #include <iostream> using namespace std; #define MaxSize 50 typedef int ElemType; //定义变量int的别名 ...

  10. puppeteer,新款headless chrome!

    puppeteer puppeteer是一种谷歌开发的Headless Chrome,因为puppeteer的出现,业内许多自动化测试库停止维护,比如PhantomJS,Selenium IDE fo ...