暂无链接

欠钱

题目描述

南极的企鹅王国大学中生活着nnn只企鹅,作为212121世纪的优秀大学生,企鹅们积极响应“大众创业,万众创新”的号召,纷纷创业。但是创业需要资金,企鹅们最近手头比较紧,只能互相借钱。
企鹅的借钱行为是有规律可循的:每只企鹅只会借一次钱,并且只会从一只企鹅那里借钱。借钱关系中不存在环(即不存在类似“金企鹅欠银企鹅钱,银企鹅欠铜企鹅钱,铜企鹅欠金企鹅钱”这种情况)。
企鹅的还钱行为也是有规律可循的:每只企鹅一旦新获得了一笔钱,就会立刻用这笔钱尽可能偿还自己欠的债务,直到债务偿清或用光这笔钱。它只会使用新获得的这笔钱,至于以前它有没有钱、有多少钱,与还钱行为无关。
企鹅们经常会做美梦。在一只企鹅AAA的梦里,它梦见自己创业成功,一下子获得了+∞+\infty+∞元钱,于是(按照上文的还钱规则)它赶快把钱用来还债,接着拿到钱的那只企鹅也赶快把钱用来还债……如此往复,直到所有获得钱的企鹅都完成了还债操作。梦醒之后,它开心地把梦的内容告诉了另外一只企鹅BBB,企鹅BBB听了,也很开心,于是它问道:在你的梦里,我获得了多少钱呢? (指BBB去还债之前手里的钱,包括后来用于还债的钱和还债后BBB手里剩下的钱。 )
梦毕竟是梦,对实际的欠债情况没有影响。

格式
输入格式

第一行两个整数nnn和mmm,表示有nnn只企鹅,mmm个操作。
接下来mmm行,有两种可能的格式:

  • 0abc0\ a\ b\ c0 a b c:修改操作,企鹅aaa向企鹅bbb借了ccc元钱。
  • 1ab1\ a\ b1 a b:查询操作,询问假如aaa有了+1+1+1元钱,企鹅bbb会净收入多少钱。

本题强制在线,也就是说:对于每个操作输入的变量a,b,ca,b,ca,b,c(如果没有ccc,那就只有a,ba, ba,b)都不是实际的a,b,ca, b, ca,b,c,想获得实际的a,b,ca, b, ca,b,c应当经过以下操作:

a = (a + lastans) % n + 1;
b = (b + lastans) % n + 1;
c = (c + lastans) % n + 1;

其中,lastanslastanslastans是上一次询问的答案。如果没有上一次询问,lastanslastanslastans为000。

输出格式

对每个询问操作,输出一行一个数表示答案。

样例
样例输入

5 9
0 1 2 1
0 0 1 2
1 0 1
1 2 4
0 2 1 1
1 2 0
0 3 1 0
1 4 2
1 3 4

样例输出

32010

数据范围

数据分为以下几种:
第一种:占10%10\%10%,n≤5000n ≤ 5000n≤5000且m≤10000m ≤ 10000m≤10000;
第二种:占20%20\%20%,所有借钱事件(000开头的操作)发生在所有询问事件(111开头的操作)之前;
第三种:占30%30\%30%,对于一只企鹅AAA,最多只有一只企鹅向AAA借钱;
第四种:占40%40\%40%,没有特殊性质,n、mn、 mn、m 大小有一定梯度。
对于所有数据,满足: n≤105,m≤106,0≤a,b,c≤nn ≤ 10^5, m ≤ 10^6, 0 ≤ a, b, c ≤ nn≤105,m≤106,0≤a,b,c≤n 且 a≠ba \neq ba̸​=b。

题解

考场上没看清题,以为是个DAG\mathcal{DAG}DAG,于是没去管,又被T1\mathcal{T}1T1毒瘤,最后没有时间写。。。

所以,你特么为什么要在NOIP\mathcal{NOIP}NOIP模拟赛T3\mathcal{T}3T3,放一道LCT\mathcal{LCT}LCT傻逼题呢???

我们只需要一棵维护链上最小值的有根LCT\mathcal{LCT}LCT就能解决所有问题。

代码
#include<bits/stdc++.h>
#define ls son[v][0]
#define rs son[v][1]
using namespace std;
const int M=2e5+5;
int son[M][2],dad[M],val[M],mn[M],n,m,tot;
bool notroot(int v){return son[dad[v]][0]==v||son[dad[v]][1]==v;}
void up(int v){mn[v]=min(val[v],min(mn[ls],mn[rs]));}
void spin(int v)
{int f=dad[v],ff=dad[f],k=son[f][1]==v,w=son[v][!k];if(notroot(f))son[ff][son[ff][1]==f]=v;son[v][!k]=f,son[f][k]=w;if(w)dad[w]=f;dad[f]=v,dad[v]=ff;up(f);
}
void splay(int v)
{for(int f,ff;notroot(v);spin(v)){f=dad[v],ff=dad[f];if(notroot(f))spin((son[f][0]==v)^(son[ff][0]==f)?v:f);}up(v);
}
int access(int v){int f=0;for(;v;v=dad[f=v])splay(v),rs=f,up(v);return f;}
void link(int x,int y){splay(x);dad[x]=y;}
void in(){scanf("%d%d",&n,&m);}
void ac()
{memset(val,127,sizeof(val));memset(mn,127,sizeof(mn));tot=n;for(int i=1,last=0,op,a,b,c;i<=m;++i){scanf("%d%d%d",&op,&a,&b);a=(a+last)%n+1,b=(b+last)%n+1;if(op)access(b),(access(a)==b?(splay(b),printf("%d\n",last=min(val[b],mn[son[b][1]]))):(printf("%d\n",last=0)));else scanf("%d",&c),c=(c+last)%n+1,val[++tot]=c,mn[tot]=c,link(a,tot),link(tot,b);}
}
int main(){in(),ac();}

[2018.10.11 T3] 欠钱相关推荐

  1. 训练日志 2018.10.11

    这两天一直在弄树形DP,至此除了概率DP还没看,DP 专题基本就告一段落了,这个学期还剩下三个月左右,图论.数据结构.计算几何三个专题一个月一个. 之前学的一些算法还是掌握的不牢,打算先花一个星期左右 ...

  2. 【比赛报告】2018.10.11校赛[8-2情人节欢乐赛] NOIP练习赛卷十二

    比赛时间:2018.10.10 选手:lrllrl 成绩 100+100+100=300 用时:约1h T1 果实计数 显然易得,答案为 b n m o d    k b^n\mod k bnmodk ...

  3. 【2018/10/11测试T3】葫芦

    [题目] 传送门 题目描述: Tom 最喜欢的歌曲就是<葫芦娃>. 一日表演唱歌,他尽了洪荒之力,唱响心中圣歌. 随之,Tom 进入了葫芦世界. 葫芦世界有 nnn 个葫芦,标号为 111 ...

  4. 【2018/10/11】T3 - 0/1分数规划 - 葫芦

    葫芦 描述 Tom 最喜欢的歌曲就是<葫芦娃>. 一日表演唱歌,他尽了洪荒之力,唱响心中圣歌. 随之,Tom 进入了葫芦世界. 葫芦世界有 n 个葫芦,标号为 1~ n.n 个葫芦由 m ...

  5. 【2018/10/11完成】 ubuntu切换国内镜像源,加速apt-get下载速度

    ubuntu切换国内镜像源,加速apt-get下载速度 https://blog.csdn.net/TotoroCyx/article/details/79517202 学习这篇文章,但是他有很多的b ...

  6. 泸州职称计算机,2018年11月四川泸州职称计算机考试10月8日开始报名

    [导语]2018年11月四川泸州职称计算机考试报名安排已发布,以下是无忧考网为您介绍了职称计算机考试时间.报名时间等,希望对大家有帮助,更多资料敬请关注无忧考网职称计算机考试频道,我们会为您及时更新相 ...

  7. 2018年第十届ACM四川省省赛题解(10 / 11)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 2018ACM四川省省赛 题目链接:https://www.oj.swust.edu.cn/probl ...

  8. 李彦宏:AI 企业要保护隐私;罗永浩回应酷派“欠钱不还”;ofo 郑州公司人去楼空 | 极客头条...

    「CSDN 极客头条」,是从 CSDN 网站延伸至官方微信公众号的特别栏目,专注于一天业界事报道.风里雨里,我们将每天为朋友们,播报最新鲜有料的新闻资讯,让所有技术人,时刻紧跟业界潮流. 快讯速知 李 ...

  9. python编程入门与案例详解-quot;Python小屋”免费资源汇总(截至2018年11月28日)...

    原标题:"Python小屋"免费资源汇总(截至2018年11月28日) 为方便广大Python爱好者查阅和学习,特整理汇总微信公众号"Python小屋"开通29 ...

  10. 逆水寒服务器维护公告,《逆水寒》2018年11月29日更新公告

    各位自在同门: 为了保证服务器的运行稳定和服务质量,<逆水寒>将于2018年11月29日早8:00停机进行维护工作,预计维护到上午10:00.如在维护期间无法完成维护内容,开机时间将顺延. ...

最新文章

  1. 先进机器人系统中的关键技术
  2. 网站HTML删除数据库中数据语句,如何以编程方式删除WebSQL中的数据库?
  3. c语言程序设计基础程序改错,c程序设计程序改错题_相关文章专题_写写帮文库...
  4. Self-reflection for career
  5. arm-linux学习笔记3-linux内存管理与文件操作
  6. EXSITS应该怎么用?
  7. IOS开发基础之微博项目
  8. openstack添加热添加硬盘并识别
  9. php 执行多个文件,PHP提高执行多个查询时读取一千行文件的性能
  10. 使用javascript来实现最原始的ajax操作
  11. JS开发引用HTML DOM的location和document对象
  12. vite:15个插件推荐
  13. java垃圾回收的具体时间_JVM垃圾回收机制是怎样的,何时触发YoungGC或FullGC操作?...
  14. 北航机械学院计算机制图,北航机械制图在线作业一含答案.pdf
  15. VSCode运行Java报错No delegateCommandHandler for vscode.java.resolveMainMethod
  16. Java EE开发系列教程 - 使用EJB组件与JPA层交互
  17. 毕设 - 网络商城 开篇
  18. vue echarts饼状统计
  19. 计算机视觉入门(包含论文学习网址)
  20. 华为S5300系列交换机V200R001SPH027升级补丁

热门文章

  1. vmware ubuntu 16.04 guest 修复不能桌面大小自动调整和从宿主机复制粘贴的问题
  2. 【ide】myeclipse项目右键没有configure
  3. 《Web漏洞防护》读书笔记——第7章,访问控制防护
  4. 实现JPA的懒加载和无外键
  5. 进程外Session(用数据库)
  6. Nodejs与Java通用AES加解密
  7. css中 background:0 0;
  8. 解决Boost库链接出错问题
  9. Python path
  10. PHP--heredoc语法结构定义字符串