[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 ...
随机推荐
- 01-k8s 架构
原文地址:https://github.com/kubernetes/kubernetes/blob/release-1.3/docs/design/architecture.md Kubernete ...
- H3C软件开发笔试面试总结
注:我目前是陕西师范大学计算机科学学院本科生,在西安参加笔试以及面试 先是笔试,我选择的是JAVA方向,笔试选择题目主要是一些基础性的题目,然后简答题问了final.finally.finallize ...
- Currency Exchange POJ1860
Description Several currency exchange points are working in our city. Let us suppose that each point ...
- python中的赋值操作与C语言中的赋值操作中的巨大差别
首先让我们来看一个简单的C程序: a = ; b = a; b = ; printf("a = %d, b = %d\n", a, b); 相信只要学过C语言, 不用运行程序便能知 ...
- bucket list 函数解析
cls_bucket_list 函数 librados::IoCtx index_ctx; // key - oid (for different shards if there is any) ...
- 关于dfs的套路
void dfs(答案, 搜索层数, 其他参数) { if (层数==maxdeep) { 更新答案 return; } (剪枝) for(下一层可能的状态){ 更新全局变量表示的状态的变量 dfs( ...
- Activiti6系列(2)- 运行和编译
前言 Activiti6.0在官网已经无法下载了,需要在Github上下载. 下载地址: https://github.com/Activiti/Activiti/releases/download/ ...
- STM32实现Airplay音乐播放器
AirPlay是苹果公司推出的一套无线音乐解决方案,我们手里的iPhone.iPad甚至是Apple Watch等设备还有电脑上的iTunes都支持AirPlay,但是支持AirPlay功能的音响设备 ...
- Linux--shell编程原理--03
一.编程原理: 1.编程介绍: 计算机只能识别二进制指令 程序=指令+数据 根据服务的重心不同,我们分为面向过程编程,面向对象编程: a) 面向过程:侧重于指令的编程语言 b) 面向对象:侧重于数据的 ...
- (十五)c#Winform自定义控件-键盘(二)
前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. 开源地址:https://gitee.com/kwwwvagaa/net_winform_custom_control ...