The 2018 ACM-ICPC CCPC 宁夏 A-Maximum Element In A Stack
题意
对一个栈有入栈和出栈两种操作,求每次操作后栈的最大值的异或。
分析
类似于单调栈,但是还没有那么复杂。
只需保持栈顶为最大值,如果入栈元素小于栈顶元素,则重复一次栈顶元素入栈;否则,直接入栈。
大概长这样:

#include<bits/stdc++.h>
using namespace std; typedef long long ll;
int n, p, q, m;
unsigned int SA, SB, SC;
const int maxn = 5e6 + ;
ll sta[maxn], top = ; ll PUSH(ll x)
{
sta[++top] = x;
return sta[top] = max(sta[top], sta[top-]);
}
ll POP()
{
return sta[top = max(top-, 0ll)];
} unsigned int rng61()
{
SA ^= SA << ;
SA ^= SA >> ;
SA ^= SA << ;
unsigned int t = SA; SA = SB;
SB = SC;
SC ^= t ^ SA;
return SC;
}
ll gen()
{
ll ret = , tmp;
scanf("%d%d%d%d%d%d%d", &n, &p, &q, &m, &SA, &SB, &SC);
for(int i = ;i <= n;i++){
if(rng61() % (p+q) < p)
tmp = PUSH(rng61()%m + );
else
tmp = POP();
//printf("%d\n", tmp);
ret ^= (i * tmp);
}
return ret;
} int main()
{
int T, kase = ;
scanf("%d", &T);
while(T--)
{
top = ;
ll ans = gen();
printf("Case #%d: %lld\n", ++kase, ans);
}
return ;
}
参考链接:https://blog.csdn.net/Aerry_ale/article/details/81089375
The 2018 ACM-ICPC CCPC 宁夏 A-Maximum Element In A Stack的更多相关文章
- The 2018 ACM-ICPC Chinese Collegiate Programming Contest Maximum Element In A Stack
//利用二维数组模拟 #include <iostream> #include <cstdio> #include <cstring> #include <s ...
- 2018ACM-ICPC宁夏邀请赛 A-Maximum Element In A Stack(栈内最大值)
Maximum Element In A Stack 20.91% 10000ms 262144K As an ACM-ICPC newbie, Aishah is learning data s ...
- [ICPC 2018 宁夏邀请赛] A-Maximum Element In A Stack(思维)
>传送门< 前言 辣鸡网络赛,虽然我是个菜鸡,然而好几个队伍十几分钟就AK???我心态那会彻底崩了,后来群里炸了,话题直接上知乎热搜,都是2018ICPC宁夏网络赛原题,这怎么玩,拼手速? ...
- 2018 ACM ICPC 南京赛区 酱油记
Day 1: 早上6点起床打车去车站,似乎好久没有这么早起床过了,困到不行,在火车上睡啊睡就睡到了南京.南航离南京南站很近,地铁一站就到了,在学校里看到了体验坐直升机的活动,感觉很强.报道完之后去吃了 ...
- 2018 ACM/ICPC 南京 I题 Magic Potion
题解:最大流板题:增加两个源点,一个汇点.第一个源点到第二个源点连边,权为K,然后第一个源点再连其他点(英雄点)边权各为1,然后英雄和怪物之间按照所给连边(边权为1). 每个怪物连终点,边权为1: 参 ...
- Codeforces - 102222A - Maximum Element In A Stack - 模拟
https://codeforc.es/gym/102222/problem/F 注意到其实用unsigned long long不会溢出. #include<bits/stdc++.h> ...
- Maximum Element In A Stack Gym - 102222A【思维+栈】
2018-2019 ACM-ICPC, China Multi-Provincial Collegiate Programming Contest https://vjudge.net/problem ...
- ACM ICPC 2015 Moscow Subregional Russia, Moscow, Dolgoprudny, October, 18, 2015 G. Garden Gathering
Problem G. Garden Gathering Input file: standard input Output file: standard output Time limit: 3 se ...
- hduoj 4708 Rotation Lock Puzzle 2013 ACM/ICPC Asia Regional Online —— Warmup
http://acm.hdu.edu.cn/showproblem.php?pid=4708 Rotation Lock Puzzle Time Limit: 2000/1000 MS (Java/O ...
- 2017 ACM/ICPC Asia Regional Shenyang Online spfa+最长路
transaction transaction transaction Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 132768/1 ...
随机推荐
- Centos下Redis集群的搭建实现读写分离
Centos下Redis一主多从架构搭建 搭建目标:因为自己笔记本电脑配置较低的原因,模拟两台机器之间搭建一主一从的架构,主节点Redis主要用来写数据,数据写入到主节点的Redis,然后从节点就可以 ...
- python实战项目 — 使用bs4 爬取猫眼电影热榜(存入本地txt、以及存储数据库列表)
案例一: 重点: 1. 使用bs4 爬取 2. 数据写入本地 txt from bs4 import BeautifulSoup import requests url = "http:// ...
- Serializer组件
Serializer组件 一 .序列化器-Serializer 作用: 序列化,序列化器会把模型对象转换成字典,经过response以后变成json字符串 反序列化,把客户端发送过来的数据,经过req ...
- 树莓派raspberrypi系统安装docker以及编译nginx和php镜像
前言 在树莓派中搭建php环境,按正常流程一般是直接在系统中apt-get install相关的软件,不过如果某天我想无缝迁移到另一个地方,就又得在重新安装一次环境.所以为了方便,就直接在树莓派中使用 ...
- Android--Facebook Login with LoginButton
1.Layout文件添加Facebook的LoginBurtton <com.facebook.widget.LoginButton android:id="@+id/authButt ...
- PB连接ORALCE数据库方法
本地必须配置连接服务
- Unity项目 - MissionDemolition 愤怒的小鸟核心机制
目录 游戏原型 项目演示 绘图资源 代码实现 注意事项 技术探讨 参考来源 游戏原型 爆破任务 MissionDemolition 是一款核心机制类似于愤怒的小鸟的游戏,玩家将用弹弓发射炮弹,摧毁城堡 ...
- NIO(2):Channel
Channel可以理解为铁轨,Buffer是铁轨上的火车.铁轨的两端连接这文件描述符或者说文件的缓冲区和程序运行时的内存.借助NIO是一种更加符合OS底层文件系统的调用方式,使用NIO可以用更小的开销 ...
- 使用Identity Server 4建立Authorization Server
使用Identity Server 4建立Authorization Server (6) - js(angular5) 客户端 摘要: 预备知识: http://www.cnblogs.com/cg ...
- Unity - Profiler参数详解
CPU Usage ● GC Alloc - 记录了游戏运行时代码产生的堆内存分配.这会导致ManagedHeap增大,加速GC的到来.我们要尽可能避免不必要的堆内存分配,同时注意:1 ...