[2018CCPC吉林赛区(重现赛)- 感谢北华大学] 补题记录 躁起来
1007 High Priestess
埃及分数
1008 Lovers
线段树维护取膜意义下的区间s和。
每个区间保存前缀lazy和后缀lazy。
#include <iostream>
using namespace std;
#define pb push_back
#define fi first
#define se second
#define debug(x) cerr<<#x << " := " << x << endl;
#define bug cerr<<"-----------------------"<<endl;
#define FOR(a, b, c) for(int a = b; a <= c; ++ a) typedef long long ll;
typedef long double ld;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll; template<class T> void _R(T &x) { cin >> x; }
void _R(int &x) { scanf("%d", &x); }
void _R(ll &x) { scanf("%lld", &x); }
void _R(double &x) { scanf("%lf", &x); }
void _R(char &x) { scanf(" %c", &x); }
void _R(char *x) { scanf("%s", x); }
void R() {}
template<class T, class... U> void R(T &head, U &... tail) { _R(head); R(tail...); } template<typename T>
inline T read(T&x){
x=;int f=;char ch=getchar();
while (ch<''||ch>'') f|=(ch=='-'),ch=getchar();
while (ch>=''&&ch<='') x=x*+ch-'',ch=getchar();
return x=f?-x:x;
} const int inf = 0x3f3f3f3f; const int mod = 1e9+; /**********showtime************/
const int maxn = 1e5+;
ll sum[maxn<<];
ll lazylen[maxn<<],lazyback[maxn<<],lazypre[maxn<<];
ll sumten[maxn<<];
char str[]; void build(int le, int ri, int rt) {
sum[rt] = ;
lazylen[rt] = lazyback[rt] = lazypre[rt] = ;
sumten[rt] = ;
if(le == ri) {
return;
}
int mid = (le + ri) >> ;
build(le, mid, rt<<);
build(mid+, ri, rt<<|);
sumten[rt] = sumten[rt<<] + sumten[rt<<|];
} ll ten[maxn];
void pushdown(int le, int ri, int rt){
int mid = (le + ri) >> ;
sumten[rt<<] = ten[lazylen[rt]] * sumten[rt<<]%mod;
sum[rt<<] = ((sum[rt<<]*ten[lazylen[rt]]%mod + sumten[rt<<]*lazypre[rt]%mod )%mod+ 1ll*(mid-le+)*lazyback[rt] % mod)%mod;
sumten[rt<<] = ten[lazylen[rt]] * sumten[rt<<]%mod; sumten[rt<<|] = ten[lazylen[rt]]*sumten[rt<<|]%mod;
sum[rt<<|] = ((sum[rt<<|]*ten[lazylen[rt]]%mod + sumten[rt<<|]*lazypre[rt]%mod )%mod+ 1ll*(ri-mid)*lazyback[rt] % mod)%mod;
sumten[rt<<|] = ten[lazylen[rt]]*sumten[rt<<|]%mod; lazypre[rt<<] = (lazypre[rt] * ten[lazylen[rt<<]]%mod + lazypre[rt<<] )% mod;
lazyback[rt<<] = ((lazyback[rt<<] * ten[lazylen[rt]])%mod + lazyback[rt]) % mod;
lazylen[rt<<] = lazylen[rt<<] + lazylen[rt]; lazypre[rt<<|] = (lazypre[rt] * ten[lazylen[rt<<|]]%mod + lazypre[rt<<|])% mod;
lazyback[rt<<|] = (lazyback[rt<<|] * ten[lazylen[rt]]%mod + lazyback[rt]) % mod;
lazylen[rt<<|] = lazylen[rt<<|] + lazylen[rt]; lazylen[rt] = ;
lazyback[rt] = ;
lazypre[rt] = ;
} void pushup(int rt) {
sum[rt] = (sum[rt<<] + sum[rt<<|])%mod;
sumten[rt] = (sumten[rt<<] + sumten[rt<<|]) % mod;
} void update(int L, int R, int b, int le, int ri, int rt) {
if(le >= L && ri <= R) {
sumten[rt] = 1ll**sumten[rt]%mod;
sum[rt] = ((1ll*sum[rt]*%mod + 1ll*sumten[rt]*b%mod )%mod + 1ll*(ri-le+)*b % mod)%mod;
sumten[rt] = 1ll**sumten[rt]%mod; lazypre[rt] = (1ll* b * ten[lazylen[rt]]%mod + lazypre[rt]) % mod;
lazyback[rt] = (1ll*lazyback[rt] * %mod + b)%mod;
lazylen[rt]++;
return;
}
if(lazylen[rt]) pushdown(le, ri, rt);
int mid = (le + ri) >> ;
if(mid >= L) update(L, R, b, le, mid, rt<<);
if(mid < R) update(L, R, b, mid+, ri, rt<<|);
pushup(rt);
} ll query(int L, int R, int le, int ri, int rt) {
if(le >= L && ri <= R) {
return sum[rt];
}
if(lazylen[rt]) pushdown(le, ri, rt);
int mid = (le + ri) >> ;
ll res = ;
if(mid >= L) res = (res + query(L, R, le, mid, rt<<) )% mod;
if(mid < R) res = (res + query(L, R, mid+, ri, rt<<|)) % mod;
pushup(rt);
return res;
}
int main(){
// freopen("data.in", "r", stdin);
ten[] = ;
for(int i=; i<maxn; i++) ten[i] = ten[i-] * % mod;
int T; scanf("%d", &T);
int cas = ;
while(T--) {
int n,m;
scanf("%d%d", &n, &m);
build(, n, );
printf("Case %d:\n", ++cas);
while(m--) {
scanf("%s", str);
if(str[] == 'w') {
int le, ri, b;
scanf("%d%d%d", &le, &ri, &b);
update(le, ri, b, , n, );
}
else {
int le, ri;
scanf("%d%d", &le, &ri);
printf("%lld\n", query(le, ri, , n , ));
}
}
}
return ;
}
1010 Wheel of Fortune
匹配次数最多的颜色数量不超过 ⌊n⌋。 2
1011 The Magician
1012 The Hanged Man
[2018CCPC吉林赛区(重现赛)- 感谢北华大学] 补题记录 躁起来的更多相关文章
- 2018CCPC吉林赛区 hdu6555~hdu6566
2018CCPC吉林赛区(重现赛)- 感谢北华大学 A 基础数论. #include<bits/stdc++.h> using namespace std; typedef long lo ...
- 2018CCPC吉林赛区 | 部分题解 (HDU6555 HDU6556 HDU6559 HDU6561)
// 杭电上的重现赛:http://acm.hdu.edu.cn/contests/contest_show.php?cid=867 // 杭电6555~6566可交题 A - The Fool 题目 ...
- 【cf补题记录】Codeforces Round #608 (Div. 2)
比赛传送门 再次改下写博客的格式,以锻炼自己码字能力 A. Suits 题意:有四种材料,第一套西装需要 \(a\).\(d\) 各一件,卖 \(e\) 块:第二套西装需要 \(b\).\(c\).\ ...
- 【cf补题记录】Codeforces Round #607 (Div. 2)
比赛传送门 这里推荐一位dalao的博客-- https://www.cnblogs.com/KisekiPurin2019/ A:字符串 B:贪心 A // https://codeforces.c ...
- 【补题记录】ZJU-ICPC Summer Training 2020 部分补题记录
补题地址:https://zjusummer.contest.codeforces.com/ Contents ZJU-ICPC Summer 2020 Contest 1 by Group A Pr ...
- 【JOISC 2020 补题记录】
目录 Day 1 Building 4 Hamburg Steak Sweeping Day 2 Chameleon's Love Making Friends on Joitter is Fun R ...
- 2018CCPC吉林赛区(重现赛)
http://acm.hdu.edu.cn/contests/contest_show.php?cid=867 A题,直接分块,不知道正解是什么. #include<bits/stdc++.h& ...
- 2018CCPC吉林赛区(重现赛)部分题解
The Fool 题目链接 Problem Description The Fool is numbered 0 – the number of unlimited potential –and th ...
- 2018CCPC吉林赛区
传送门 A - The Fool 整除分块即可. B - The World 模拟即可. C - Justice 题意: 给出\(n\)个数\(k_i\),每个数的权值为\(\frac{1}{2^{k ...
随机推荐
- Python3数据驱动ddt
对于同一个方法执行大量数据的程序时,我们可以采用ddt数据驱动的方式,来对数据规范化整理及输出 一.需要使用python的ddt库,ddt,data,unpack方法 1.仅使用ddt和data,代码 ...
- MyBatis在Spring环境下的事务管理
MyBatis的设计思想很简单,可以看做是对JDBC的一次封装,并提供强大的动态SQL映射功能.但是由于它本身也有一些缓存.事务管理等功能,所以实际使用中还是会碰到一些问题--另外,最近接触了JFin ...
- 【Android】System.exit(0) 退出程序
许多 Android 应用程序都是连续点击两下返回键时退出程序,代码如下: private long exitTime = 0; @Override public boolean onKeyDown( ...
- linux自学
Linux文件与目录管理 所有不太会的命令,可以用man +命令,查看相关解释文档 绝对路径:从根路径写起的路径,/usr/local 相对路径:例如:路径a:~/demo/test 路径b ...
- HC-08 BLE资料
1.1 特点简介 HC-08蓝牙串口通信模块是新一代的基于Bluetooth Specification V4.0 BLE蓝牙协议的数传模块.无线工作频段为 2.4GHz ISM,调制方式是 GFSK ...
- 记一次paramiko远程连接遇到的坑
背景:工作中遇到了一个问题,需要用到windows向windows连接(文件传发)以及,linux向windows连接(文件传发)的需求. 自然而然会考虑到用paramiko,然而paramiko我用 ...
- 浅谈Ceph纠删码
目 录第1章 引言 1.1 文档说明 1.2 参考文档 第2章 纠删码概念和原理 2.1 概念 2.2 原理 第3章 CEPH纠删码介绍 3.1 CEPH纠删码用途 3.2 CEPH纠删码库 3.3 ...
- 【React踩坑记三】React项目报错Can't perform a React state update on an unmounted component
意思为:我们不能在组件销毁后设置state,防止出现内存泄漏的情况 分析出现问题的原因: 我这里在组件加载完成的钩子函数里调用了一个EventBus的异步方法,如果监听到异步方法,则会更新state中 ...
- Spring aop 影响本地事务的回滚总结
1 @Before 不会,因为还没执行到service的业务逻辑 2 @ After 默认情况下,报错会影响事务回滚., 当设置@Order属性并设置值优先级大小, 即使报错也不会回滚了 ...
- Re-Architecting the Video Gatekeeper(一)
原文 https://medium.com/netflix-techblog/re-architecting-the-video-gatekeeper-f7b0ac2f6b00 本文介绍了了内容配置工 ...