codeforces193B
2024-05-12 00:38:40
CF193B Xor
sol:发现好像非常不可做的样子,发现n,u都很小,大胆dfs,因为异或偶数次毫无卵用,只要判每次是否做2操作就是了,复杂度O(可过)
#include <bits/stdc++.h> using namespace std; typedef long long ll; inline ll read() {ll s=0; bool f=0; char ch=' ';while(!isdigit(ch)) {f|=(ch=='-'); ch=getchar();}while(isdigit(ch)) {s=(s<<3)+(s<<1)+(ch^48); ch=getchar();}return (f)?(-s):(s); } #define R(x) x=read() inline void write(ll x) {if(x<0) {putchar('-'); x=-x;}if(x<10) {putchar(x+'0'); return;}write(x/10); putchar((x%10)+'0'); } #define W(x) write(x),putchar(' ') #define Wl(x) write(x),putchar('\n') const int N=35; const ll inf=0x7fffffffffll; int n,m,r; ll ans,a[N],b[N],k[N],p[N]; inline ll calc(ll num[]) {int i;ll res=0;for(i=1;i<=n;i++) res+=1LL*num[i]*k[i];return res; } inline void dfs(ll num[],int step) {if(step==0){ans=max(ans,calc(num)); return;}int i;ll c[N],d[N];for(i=1;i<=n;i++) c[i]=num[i]^b[i];if(step&1) ans=max(ans,calc(c)); else ans=max(ans,calc(num));for(i=1;i<=n;i++) d[i]=num[p[i]]+r;dfs(d,step-1);if(step<2) return;for(i=1;i<=n;i++) d[i]=c[p[i]]+r;dfs(d,step-2); } int main() {int i;R(n); R(m); R(r); ans=-inf;for(i=1;i<=n;i++) R(a[i]);for(i=1;i<=n;i++) R(b[i]);for(i=1;i<=n;i++) R(k[i]);for(i=1;i<=n;i++) R(p[i]);dfs(a,m);Wl(ans);return 0; }
View Code
转载于:https://www.cnblogs.com/gaojunonly1/p/11329845.html
codeforces193B相关推荐
最新文章
- IC/FPGA笔试题分析(五)
- 关于浮点数精度的问题
- Electron通过ffi调用DLL
- Snmp linux
- PowerDesigner 15生成数据字典
- navicat激活失败
- 14:统计素数并求和
- SPSS学习笔记:神经网络
- Android数据传输加密(三):RSA加密
- ffmpeg流媒体视频合并(画中画)效果并推流
- 1.类加载:什么是类加载???什么是类加载器???类加载器有哪三种类型???如何获取类加载器???
- 浏览器打开HTML页面(UTF-8编码)是总是乱码
- python五角星教程_绘制五角星_清华尹成python入门教程_少儿编程视频-51CTO学院
- 安卓版微信 input onchange事件不生效
- 保守形态抗锯齿 (CMAA) - 2014 年 3 月更新
- 大数据Kylin(三):Kylin配置
- 嵌入式LinuxC--指针与数组
- IO实战一:Apk加解密
- System.Data.SqlClient.SqlException: 用户 'IIS APPPOOL\y3' 登录失败
- [篇四章一]_在 VMWare 16 上安装 Windows 98 SE 操作系统