codeforces193B
CF193B Xor
sol:发现好像非常不可做的样子,发现n,u都很小,大胆dfs,因为异或偶数次毫无卵用,只要判每次是否做2操作就是了,复杂度O(可过)
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
inline ll read()
{
ll s=; bool f=; char ch=' ';
while(!isdigit(ch)) {f|=(ch=='-'); ch=getchar();}
while(isdigit(ch)) {s=(s<<)+(s<<)+(ch^); ch=getchar();}
return (f)?(-s):(s);
}
#define R(x) x=read()
inline void write(ll x)
{
if(x<) {putchar('-'); x=-x;}
if(x<) {putchar(x+''); return;}
write(x/); putchar((x%)+'');
}
#define W(x) write(x),putchar(' ')
#define Wl(x) write(x),putchar('\n')
const int N=;
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=;
for(i=;i<=n;i++) res+=1LL*num[i]*k[i];
return res;
}
inline void dfs(ll num[],int step)
{
if(step==)
{
ans=max(ans,calc(num)); return;
}
int i;
ll c[N],d[N];
for(i=;i<=n;i++) c[i]=num[i]^b[i];
if(step&) ans=max(ans,calc(c)); else ans=max(ans,calc(num));
for(i=;i<=n;i++) d[i]=num[p[i]]+r;
dfs(d,step-);
if(step<) return;
for(i=;i<=n;i++) d[i]=c[p[i]]+r;
dfs(d,step-);
}
int main()
{
int i;
R(n); R(m); R(r); ans=-inf;
for(i=;i<=n;i++) R(a[i]);
for(i=;i<=n;i++) R(b[i]);
for(i=;i<=n;i++) R(k[i]);
for(i=;i<=n;i++) R(p[i]);
dfs(a,m);
Wl(ans);
return ;
}
codeforces193B的更多相关文章
随机推荐
- 转 实现类似QQ的窗体停靠
[DllImport("User32.dll")] public static extern bool PtInRect(ref Rectangle Rects, Point lp ...
- echarts字体适配
var html = document.getElementsByTagName("html")[0]; var width = html.clientWidth; var too ...
- 前端知识总结--ES6新特性
ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,已经在 2015 年 6 月正式发布了.它的目标,是使得 JavaScript 语言可以用来编写复杂的大型应 ...
- TCP与UDP协议必知必会
TCP协议 一个工作在传输层的传输控制协议,面向连接.可靠的流式协议,HTTP协议建立在TCP基础上.每个TCP报文,实际在网络层进行封装成IP数据报,会进行IP分片(受限于MTU). 头部(20字节 ...
- LNMP环境搭建BBS论坛及伪静态
我们在mysql备份 LNMP环境中的数据库迁移为独立的服务器的基础上搭建BBS论坛: [root@bqh-117 ~]# mysql -uroot -p123456 Welcome to the ...
- AJAX中错误代码解释以及http中的错误代码解释
xmlhttp.readyState的值及含义: 0:请求未初始化(还没有调用 open()). 1:请求已经建立,但是还没有发送(还没有调用 send()). 2:请求已发送,正在处理中(通常现在可 ...
- Innodb学习
一.并发控制 为什么要进行并发控制? 因为并发的任务会对同一个临界资源进行操作,如果不进行并发控制,可能导致不一致,故必须进行并发控制. 如何进行并发控制? 1.锁. 2.数据多版本. 施工ing.. ...
- DB2检查数据在各节点分布情况
情景:总所周知,DB2的表空间(数据)在节点中存储是根据每张表的分区键来分布的,如果分区键建的不好,会直接导致表空间在各节点的占用大小不均匀,久而久之,其中一个或几个节点的大小已所剩无几,其他的却依旧 ...
- request-html模块 (上)
requests-html模块 官方网站 Github网址 请求数据 from requests_html import HTMLSession session = HTMLSession() req ...
- 某阅读多word整理自动化脚本
版权声明:本文为博主原创文章,转载 请注明出处:https://blog.csdn.net/sc2079/article/details/101055192 - 写在前面 最近想练习英语,发现电脑磁盘 ...