骗过我的水题

题意: 定义函数 f(a,b)=a∣b−bf(a, b) = a|b - bf(a,b)=a∣b−b, 现有数组aaa表示f(f(⋯f(f(a1,a2),a3),⋯an−1),an)f(f(\cdots f(f(a_1, a_2), a_3), \cdots a_{n-1}), a_n)f(f(⋯f(f(a1​,a2​),a3​),⋯an−1​),an​) 现在要求你求整个式子的最大值, 并输出值最大时的a的顺序

Face

数据范围: 1≤n≤1e5,∣ai∣≤1e91\leq n\leq1e5, |a_i| \leq 1e91≤n≤1e5,∣ai​∣≤1e9

Tutorial: 列个表出来:

a b val
0 0 0
0 1 0
1 0 1
1 1 0

你有没有发现什么?

再看这张表:

a ~b val
0 1 0
0 0 0
1 1 1
1 0 0

也许你会spot :f(a,b)=a∣b−b=a&(f(a, b) = a|b - b = a\&(f(a,b)=a∣b−b=a&(~b)b)b)

于是整个式子就变成了 a1&(a_1\&(a1​&(~a2)&(a_2 )\&(a2​)&(~a3)…a_3)\ldotsa3​)…
求这个式子最大值显然就只与第一个元素有关了, 于是可以用前后缀和维护

#include <bits/stdc++.h>
#include <bits/extc++.h>using namespace std;
#define _rep(n, a, b) for (ll n = (a); n <= (b); ++n)
#define _rev(n, a, b) for (ll n = (a); n >= (b); --n)
#define _for(n, a, b) for (ll n = (a); n < (b); ++n)
#define _rof(n, a, b) for (ll n = (a); n > (b); --n)
#define oo 0x3f3f3f3f3f3f
#define ll long long
#define db double
#define eps 1e-8
#define bin(x) cout << bitset<10>(x) << endl;
#define what_is(x) cerr << #x << " is " << x << endl
#define met(a, b) memset(a, b, sizeof(a))
#define all(x) x.begin(), x.end()
#define pii pair<ll, ll>
#define pdd pair<db, db>
const ll mod = 1e9 + 7;
const ll maxn = 1e5 + 10;
#define lowbit(x) x &(-x)
ll pre[maxn], suf[maxn];
vector<ll> a;
ll n;
ll ask(int i) {if (i == 1)return a[1] & suf[2];if (i == n)return pre[n - 1] & a[i];return pre[i - 1] & a[i] & suf[i + 1];
}
signed main()
{cin >> n;a.resize(n + 1);ll fir_id = 1;_rep(i, 1, n) {cin >> a[i];if (i == 1)pre[0] = ~a[i];if (i == n) suf[n + 1] = ~a[i];pre[i] = pre[i - 1] & (~a[i]);}_rev(i, n, 1) {suf[i] = suf[i + 1] & (~a[i]);}_rep(i, 2, n) {if(ask(fir_id) < ask(i)) {fir_id = i;}}cout << a[fir_id] << " ";_rep(i, 1, n) {if (i != fir_id) {cout << a[i] << " ";}}}

C - Anu Has a Function(div2)相关推荐

  1. 【Codeforces Round#618 (Div. 2)】C. Anu Has a Function 题解

    题目链接:C. Anu Has a Function 题目 Anu has created her own function f: f(x,y)=(x|y)−y where | denotes the ...

  2. 寒假刷题13: Anu Has a Function Codeforces Round #618 (Div. 2) C

    题目链接: Anu Has a Function 题目解析: 观察函数f(x,y)定义:(x|y)-y 即 取出来x里是1但是y里不是1的地方 也就是 x&(~y) (也可以列真值表) 因此题 ...

  3. Codeforces #618 div.2 C. Anu Has a Function

    C. Anu Has a Function time limit per test1 second memory limit per test256 megabytes inputstandard i ...

  4. 2月9号cf,c题 Anu Has a Function

    C. Anu Has a Function time limit per test1 second memory limit per test256 megabytes inputstandard i ...

  5. AC. Anu Has a Function

    A&C. Anu Has a Function Codeforces Round #618 (Div. 1&2) 题目链接 关键词 greedy math *1500 位运算 解题思路 ...

  6. Codeforces——C. Anu Has a Function

    Codeforces--C. Anu Has a Function Anu has created her own function f: f(x,y)=(x|y)−y where | denotes ...

  7. Codeforces Round #618 (Div. 2)C、Anu Has a Function

    C. Anu Has a Function time limit per test1 second memory limit per test256 megabytes inputstandard i ...

  8. Codeforces Round #618 (Div. 1)-----A. Anu Has a Function

    提示: Codeforces Round #618 (Div. 1)-----A. Anu Has a Function 题意: 定义一个函数f(x , y) = f(x | y) - y 给定一个长 ...

  9. Anu Has a Function CodeForces - 1300C(二进制位运算)

    Anu has created her own function ff: f(x,y)=(x|y)−yf(x,y)=(x|y)−y where || denotes the bitwise OR op ...

最新文章

  1. 图片任意放大缩小 插件
  2. Unity shader学习之屏幕后期处理效果之高斯模糊
  3. java 搭建论坛_GitHub - NieShaoLiang/bbs: 基于spring boot的java论坛系统
  4. vim编辑器的使用--转自MJ学长
  5. C++ struct实现顺序表
  6. python autoit上传文件_结合python+selenium使用AutoIt V3实现文件、图片上传
  7. ubuntu 下的开发板的环境配置
  8. 山东大学软件学院计算机组成原理课程设计实验一
  9. Python用pyecharts绘制中国各地级市gdp分布点图
  10. plc梯形图如何转c语言,梯形图和指令怎么转换?plc梯形图转换指令表
  11. java spider爬虫_一个简单的java网络爬虫(spider)
  12. 无人驾驶一 协方差矩阵的几何意义
  13. Introductory Combinatorics 5th Solutions Chapter1 1~6
  14. GitHub换帅,Nat Friedman辞任CEO,发告别信感恩「这三年」
  15. html5另存为本地文件,javascript实现文件另存为(web api)
  16. AutoCAD Civil 3D-纵断面-创建曲面纵断面与布局纵断面
  17. 剑指offer练习日志02:基于矩阵乘法求斐波那契数列通项
  18. 一文吃透Vuex3的状态管理
  19. 3ds Max导出OBJ的mtl贴图路径不正确
  20. 小区隔音墙生产厂家@初心不改,慢煮岁月

热门文章

  1. 高考平行报志愿计算机录取规则,高考录取这件事儿 平行志愿录取规则及填报技巧...
  2. 安徽大学生攻防赛 crypto-wp
  3. 春哥博客 - Python+selenium自动化 - 环境搭建
  4. 矩阵分析学习指导_如何系统地学习统计学,指导入门数据分析
  5. (转)智能投顾销售基金涉嫌违规,证监会正严查!这两家成典型
  6. kaggle和天池大数据比赛的区别
  7. Quartus II 软件编写程序及烧录步骤
  8. 语音信号处理 (speech signal processing) - 参考文献
  9. java去除音频无声_如何给视频消音 把视频中的声音去掉只留视频画面
  10. 【深度学习,NLP,LM】Alpaca-Lora ,Colab上部署与调用