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 从开场写到结束…… 显然要把三角形分成上下两部分. 把每一部分分成三部分,以上部分为例. 上面和右边,以及左下角的正方形. 也 ...
随机推荐
- iOS开发UI篇-tableView在编辑状态下的批量操作(多选)
先看下效果图 直接上代码 #import "MyController.h" @interface MyController () { UIButton *button; } @pr ...
- js知识
行为=事件+由该事件触发的动作 常用事件:onXxx onLoad 打开网页事件 onUnLoad 关闭事件 onClick 单击事件 onChange ...
- UpdateProgress使用
UpdateProgress是一个进度显示条,加在AJAX里能显得更加的人性化(个人认为).现在我们就开始吧: 第一.新建一个AJAX项目.在页面上加上ScriptManager,UpdatePane ...
- Android中log4j的运用
网上一查关于android上面运用Log4j的运用,各种说需要添加多样的包的,照着log4j的官网教程看了下,给了个简单的输出到console上面的代码,似乎没什么用.看网上关于Log4j更多是在ja ...
- sharedPreference的奇怪bug
一定要清楚sp的结构,而且要知道是什么类型的.类型不对,会引起很多不知道的bug,比如本来是int类型的值,如果用String的类型去匹配,会让Activity开Activity Thread,不断地 ...
- Java Web应用启动间隔执行的程序
Reference:<Java定时器timer.schedule在Web中间隔执行任务和定时><[Java]Timer和TimerTask详解> 做了一个Demo,完成如下的功 ...
- IOS之沙盒(Sandbox)机制
IOS中每个App应用程序都有一个单独封闭的文件夹,这个文件夹称为沙盒,并且苹果规定,任何App都无权访问其他App的沙盒 沙盒目录通过 FOUNDATION_EXPORT NSString *NSH ...
- html-----010
22 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.o ...
- SDL实现限制帧速
很多人都在SDL_PollEvent和SDL_WaitEvent之间纠结.前者会带来更好的帧数表现,但是CPU占用极大,可以直接吃掉一个核心.后者则基本不占用CPU,但是帧数会受到影响.有没有办法使两 ...
- mkisofs出错解决办法
使用mkisofs遇到错误: genisoimage: Uh oh, I cant find the boot catalog directory 'beini/boot/isolinux'! 使用的 ...