csu 10月 月赛 F 题 ZZY and his little friends
一道字典树异或的题,但是数据比较水,被大家用暴力给干掉了!
以前写过一个类似的题,叫做the longest xor in tree;
两个差不多吧!
好久没写字典树了,复习一下!
代码:
#include <cstdio>
#include <cstring>
#include <algorithm>
#define maxn 100010
using namespace std;
int n,v[maxn],node,next[maxn][],end[maxn]; void add(int cur,int k)
{
memset(next[node],,sizeof(next[node]));
end[node]=;
next[cur][k]=node++;
} int cal(int x)
{
int i,k,cur=;
for(i=;i>=;i--)
{
k=((<<i)&x)?:;
if(next[cur][k]) cur=next[cur][k];
else cur=next[cur][-k];
}
return (x^end[cur]);
} int main()
{
int k,x,cur,ans,cp;
while(!scanf("%d%d",&n,&cp)!=EOF)
{
node=,ans=;
memset(next[],,sizeof(next[]));
for(int i=;i<n;i++)
{
scanf("%d",&x);
v[i]=x;
cur=;
for(int j=;j>=;j--)
{
k=((<<j)&x)?:;
if(next[cur][k]==) add(cur,k);
cur=next[cur][k];
}
end[cur]=x;
}
for(int i=;i<n;i++)ans=max(ans,cal(v[i]));
if(ans>cp)puts("YES");
else puts("NO");
}
return ;
}
另一种写法:
#include<cstdio>
#include<cstring>
#include<algorithm>
#define maxn 100005
using namespace std; struct node
{
node *p[];
} no[maxn];
int w[],nocount; node *newnode()
{
node *v=no+nocount++;
for(int i=;i<;i++)v->p[i]=NULL;
return v;
} void insert()
{
node *nono=no;
for(int i=;i>=;i--)
{
if(nono->p[w[i]]==NULL)
nono->p[w[i]]=newnode();
nono=nono->p[w[i]];
}
} int cal()
{
int ans=;
node *nono=no;
for(int i=;i>=;i--)
{
if(nono->p[-w[i]]!=NULL){ans+=(<<i);nono=nono->p[-w[i]];}
else if(nono->p[w[i]]!=NULL){nono=nono->p[w[i]];}
}
return ans;
} int main()
{
int n,m,x;
while(scanf("%d%d",&n,&m)!=EOF)
{
memset(no,,sizeof no);
nocount=;
int mm=;
for(int i=; i<n; i++)
{
scanf("%d",&x);
for(int i=;i<;i++){w[i]=x%,x>>=;}
if(i!=)mm=max(mm,cal());
insert();
}
if(mm>m)puts("YES");
else puts("NO");
}
return ;
}
csu 10月 月赛 F 题 ZZY and his little friends的更多相关文章
- csu 10月 月赛 I 题 The Contest
Description 殷犇有很多队员.他们都认为自己是最强的,于是,一场比赛开始了~ 于是安叔主办了一场比赛,比赛有n个题目,每个题目都有一个价值Pi和相对能力消耗Wi,但是有些题目因为太坑不能同时 ...
- csu 10月 月赛 H 题 A Very Hard Problem
Description CX老湿经常被人黑,被黑得多了,自己也就麻木了.于是经常听到有人黑他,他都会深情地说一句:禽兽啊! 一天CX老湿突发奇想,给大家出了一个难题,并且声称谁能够准确地回答出问题才能 ...
- csu 10月 月赛 J 题
Description CSU又到了一年中评奖学金的时候了……各大学霸都或多或少地拿到了各种奖学金(你们自己看着办吧). 在这里,评奖学金有个很奇怪的规矩——每个同学得到的奖学金数一定满足相邻的两个非 ...
- csu 10月 月赛 D 题 CX and girls
Description CX是要赶去上课,为了不迟到必须要以最短的路径到达教室,同时CX希望经过的路上能看到的学妹越多越好.现在把地图抽象成一个无向图,CX从1点出发,教室在N号点,告诉每个点上学妹的 ...
- csu 10月 月赛 B 题 Scoop water
一个卡特兰数的应用: 卡特兰数主要有以下几个用途: 1.不同的出栈入栈数: 2.n个点组成的不同的二叉树的数目: 3.凸多边形的三角剖分划分: 4.括号化问题: 通项公式是:h(n) = C(2n-2 ...
- csu 10月 月赛 A 题
Welcome to CSU OnlineJudge Problem A: Small change Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 15 ...
- Contest2037 - CSU Monthly 2013 Oct(中南大学2013年10月月赛水题部分题解)
Problem A: Small change 题解:http://www.cnblogs.com/crazyapple/p/3349469.html Problem B: Scoop water 题 ...
- 【LGR-054】洛谷10月月赛II
[LGR-054]洛谷10月月赛II luogu 成功咕掉Codeforces Round #517的后果就是,我\(\mbox{T4}\)依旧没有写出来.\(\mbox{GG}\) . 浏览器 \( ...
- ECNU 2018 10月月赛 E 盖房子 (bitset + 倍增)
题目链接 ECNU Monthly 2018.10 Problem E 从开场写到结束…… 显然要把三角形分成上下两部分. 把每一部分分成三部分,以上部分为例. 上面和右边,以及左下角的正方形. 也 ...
随机推荐
- android自定义View之NotePad出鞘记
现在我们的手机上基本都会有一个记事本,用起来倒也还算方便,记事本这种东东,如果我想要自己实现,该怎么做呢?今天我们就通过自定义View的方式来自定义一个记事本.OK,废话不多说,先来看看效果图. 整个 ...
- mysqlbinlog 用法
操作命令: show binlog events in 'binlog.000016' limit 10; reset master 删除所有的二进制日志 flush logs 产生一个新的binl ...
- AWS IAM (Identity and Access Management) 使用笔记
为 AWS 管理控制台登录页面 URL 创建别名 $ aws iam create-account-alias --account-alias <value> 创建用户 $ aws iam ...
- Mysql权限对照表
Mysql分为5种数据权限.12种结构权限.11种管理权限,当我们需要精细化权限的时候,我们就需要对照来进行授权,这样可以很好的的控制登录人员的权限.
- Cygwin下安装vim后,vim中退格键无法正常使用
问题描述: 在Cygwin中安装完vim后 进入vim,发现上下左右键和退格键都无法正常使用 问题分析: 首先考虑到的就是缺少vim的配置文件,首先查看/etc路径下是否有vim的配置文件 admin ...
- Adapter 适配器模式
将一个类的接口转换成客户希望的另外一个接口.Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作. 目标接口(Target):客户所期待的接口.目标可以是具体的或抽象的类,也可 ...
- FPGA异步时钟设计中的同步策略
1 引言 基于FPGA的数字系统设计中大都推荐采用同步时序的设计,也就是单时钟系统.但是实际的工程中,纯粹单时钟系统设计的情况很少,特别是设计模块与外围芯片的通信中,跨时钟域的情况经常不可避免. ...
- C# Callback 回调实用讲解 [原创]
这个是2011年写的一个技术贴,现在看可能有点过时了,有兴趣的朋友也可以看一下. 一. 描述 在开发winform程序时不会考虑页面刷新问题,只要控制好线程别导致假死就ok了,但是在开发web页面程序 ...
- 1066. Root of AVL Tree
An AVL tree is a self-balancing binary search tree. In an AVL tree, the heights of the two child su ...
- WEB开发时Browser控件得到C:\fakepath\ 的解决方式
IE9中JS获得文件上传控件的路径不对,为:C:\fakepath\ 原来要修改: 工具 -> Internet选项 -> 安全 -> 自定义级别 -> 将本地文件上载至服务 ...