[博弈论]JZOJ 3339 wyl8899和法法塔的游戏
Description
为了安慰可怜的法法塔,wyl8899决定大发慈悲,修改了一下游戏规则。
是这样的,这儿有一堆石子排成一列,每次wyl8899让hza选择一个区间进行游戏。游戏嘛,就是采用最普通的规则:两人轮流操作,每次选择一堆石子,取掉不为0的石子数,没法操作者失败。法法塔要做的是这样的:
我们现在定义一个区间的弱菜值:表示如果法法塔先取石子,而且法法塔第一步取的石子规定是最右边的那堆的话,为了必胜,第一步需要取的石子数。如果没法获胜的话,那么弱菜值就是-1。
法法塔要选择一个区间[l,r],使得r为wyl8899给定的某个数,l属于[a,b],a,b也是wyl8899给定的,要求这个区间的弱菜值是满足前面的条件中最大。请给出这个最大的弱菜值。
如果最大弱菜值不为-1,法法塔就会马上取走该区间最右端的石子堆最大弱菜值数量的石子。
Input
接下来一行m,表示将进行要进行m次游戏,每次游戏由三个值刻画,r,a,b。r表示被选定的右端点,[a,b]表示选择的区间的左端点的范围
Output
Sample Input
输入1: 12 662 477 125 483 17 560 232 59 176 928 807 659 5 5 2 5 4 4 4 2 1 2 6 4 6 6 2 3 输入2: 7 230 883 456 1020 966 899 610 2 7 1 2 2 1 2 输入3: 11 392 808 14 71 393 79 11 74 713 232 142 5 8 3 8 9 5 9 3 1 1 8 2 8 7 4 6
Sample Output
输出1: 17 483 477 560 -1 输出2: 352 883 输出3: 74 713 -1 -1 -1
Data Constraint
分析
取火柴游戏,发现就是要求s[r-1]^s[x] (a<=x<=b)最小
s是异或前缀和,s[r-1]是固定的,求s[x]
那么我们看到异或的题目可以考虑trie,可是区间询问的问题一颗trie怎么搞?
那么我们利用分块加trie可以随便切完这题,在trie上找答案时可以从高位开始找异或值为0贪心,正确性显然
然鹅我打的是n^2暴力也过了
#include <iostream> #include <cstdio> #include <cmath> using namespace std; const int N=5e5+10; int n,m,s[N];int main() { scanf("%d",&n);for (int i=1;i<=n;i++) scanf("%d",&s[i]);scanf("%d",&m);for (int i=1;i<=m;i++) {int R,A,B,k,ans=0;scanf("%d%d%d",&R,&A,&B);if (s[R]==0) {printf("-1\n");continue;}if (R==B) {printf("%d\n",s[R]);s[R]=0;continue;}k=0;for (int j=R-1;j>=A;j--) {k^=s[j];if (B>=j&&s[R]>=k) ans=max(ans,s[R]-k);if (ans==s[R]) break;}if (ans==0) printf("-1\n");else printf("%d\n",ans);s[R]-=ans;} }
View Code
转载于:https://www.cnblogs.com/mastervan/p/11166724.html
[博弈论]JZOJ 3339 wyl8899和法法塔的游戏相关推荐
- 【线段树】【FeyatCup】——2.法法塔的奖励
首先感谢并膜拜两位大佬 wyl8899 & 法法塔 感谢两位的出题! 题目: 法法塔是很喜欢写程序的.所以冒着就算码农屌丝一辈子的风险也大无畏地写着程序. 码农们为了表彰法法塔的坚持与执着,决 ...
- 最近迷上了自走棋塔防游戏,玩法比较休闲,而且耐玩!
梦塔防-自走棋 梦塔防手游是一款3V3即时对战类手机游戏,也是自走棋模式打造的游戏,游戏以策略元素为主,玩家在游戏中可以自由调配兵种,以及功防阵局,丰富的兵种以及精致的游戏界面,为你提供更好的游戏体验 ...
- [原创]测试用例设计之场景法法
[原创]测试用例设计之"场景法"法 场景法设计测试用例,主要用在于事件触发流程中,当某个事件触发然后就形成相应的场景流程,不同的事件触发,不同顺序和不同的处理结果,就形成一系列的 ...
- 塔防游戏的路径寻找算法分析
在塔防游戏中,有很多敌人都是向着同一目标前进的.在众多塔防游戏当中,有一条或几条预定好的路径.在一些塔防游戏中,比如经典的<Desktop Tower Defense>,你可以将塔放在地图 ...
- 用Unity开发一款塔防游戏(一):攻击方设计
大家好.偶尔想起了这个手把手教学的.但现已长满杂草的坑,还是来挖几铲子. 这一期的游戏是最常见的类型之一--塔防. 塔防游戏相信大家并不陌生,几个主要元素如下: 1.敌方士兵 2.我方防御塔 3.我方 ...
- GemCraft Labyrinth:超耐玩的在线flash塔防游戏
GemCraft Labyrinth是一个在线flash塔防游戏,中文名字可以理解为宝石塔防.这个游戏拥有众多的关卡(169关),所以和植物大战僵尸一样十分的耐玩,除此之外,独特的宝石合成模式.技能点 ...
- 如何高效设计游戏——塔防游戏设计方案
前言 目前国内市场的游戏普遍为一些带有"快餐特色的RPG"游戏居多,并且这一类型的游戏的设计思路已经发展成为游戏开发者们"月经"一样的存在,有很多人" ...
- unity塔防游戏怪物转向_玩一玩这款塔防游戏?
关注上方蓝字获得更多内容 今日分享塔防游戏 塔防游戏,曾经也是风靡一时,非常受人喜欢的. 今天小皮分享的这款和保卫萝卜可以说是异曲同工,还是不错的. 该游戏拥有精美的画面,并且在形象设计上也制作的相当 ...
- unity塔防游戏怪物转向_英雄塔防物语游戏下载-英雄塔防物语官方版 v2.3.8最新版...
英雄塔防物语手游欢迎大家来下载,英雄塔防物语是一款二次元塔防放置手游,这款游戏为大家带来全新的角色,玩家可以收集卡牌进行组合对战,玩法十分丰富,还有丰富的剧情等你来解锁哦. [游戏简介] 英雄塔防物语 ...
- unity塔防游戏怪物转向_野生防御塔游戏下载-野生防御塔游戏安卓版 v1.0
野生防御塔是一款塔防策略类型的游戏,经典好玩的塔防策略玩法等你来,在这开启一场刺激的塔防吧.你需要依靠塔防建筑抵挡怪物的攻击,同时也需要面对对手的偷袭.依靠击杀怪物获得的金币可以购买一些道具升级你的塔 ...
最新文章
- LTE - PUCCH Format2
- 数字图像基本处理算法小结
- ev3pid巡线_PID算法巡线
- Servlet、Filter、Listener总结
- java nio 追加写文件_Java NIO在文件末尾追加数据
- 一图速览 | DTCC 2021大会,阿里云数据库技术大咖都聊了些什么?
- 教你如何用node.js开发微信公众号(一)
- 实现option上下移动_Perona-Malik方程(各向同性非线性扩散实现图像滤波)
- mysql 定时脚本_MySQL定时执行脚本(计划任务)命令实例
- Apache seaTunnel的本地启动
- SAP Cloud Platform mobile service的使用过程
- Codeforces Round #645 (Div. 2)(AB)
- debian 9.4 安装教程 linux系统debian9.4图文详细安装步骤
- (36)FPGA打N拍设计(第8天)
- Webb.WAVE项目开发体会与心得
- JAVA必备——Struts
- 启动react-native报错 Unrecognized font family 'Ionicons'
- 利用逆矩阵解线性方程组_经典Jacobi方法用于求解矩阵特征值
- Gossip in Cassandra
- 《白夜行》读后感:白夜行走,暗中羁绊