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

树链剖分
普通树形背包复杂度 O(nm2),不可取。 考虑在 dfs 序上做 01 背包。

[2018CCPC吉林赛区(重现赛)- 感谢北华大学] 补题记录 躁起来的更多相关文章

  1. 2018CCPC吉林赛区 hdu6555~hdu6566

    2018CCPC吉林赛区(重现赛)- 感谢北华大学 A 基础数论. #include<bits/stdc++.h> using namespace std; typedef long lo ...

  2. 2018CCPC吉林赛区 | 部分题解 (HDU6555 HDU6556 HDU6559 HDU6561)

    // 杭电上的重现赛:http://acm.hdu.edu.cn/contests/contest_show.php?cid=867 // 杭电6555~6566可交题 A - The Fool 题目 ...

  3. 【cf补题记录】Codeforces Round #608 (Div. 2)

    比赛传送门 再次改下写博客的格式,以锻炼自己码字能力 A. Suits 题意:有四种材料,第一套西装需要 \(a\).\(d\) 各一件,卖 \(e\) 块:第二套西装需要 \(b\).\(c\).\ ...

  4. 【cf补题记录】Codeforces Round #607 (Div. 2)

    比赛传送门 这里推荐一位dalao的博客-- https://www.cnblogs.com/KisekiPurin2019/ A:字符串 B:贪心 A // https://codeforces.c ...

  5. 【补题记录】ZJU-ICPC Summer Training 2020 部分补题记录

    补题地址:https://zjusummer.contest.codeforces.com/ Contents ZJU-ICPC Summer 2020 Contest 1 by Group A Pr ...

  6. 【JOISC 2020 补题记录】

    目录 Day 1 Building 4 Hamburg Steak Sweeping Day 2 Chameleon's Love Making Friends on Joitter is Fun R ...

  7. 2018CCPC吉林赛区(重现赛)

    http://acm.hdu.edu.cn/contests/contest_show.php?cid=867 A题,直接分块,不知道正解是什么. #include<bits/stdc++.h& ...

  8. 2018CCPC吉林赛区(重现赛)部分题解

    The Fool 题目链接 Problem Description The Fool is numbered 0 – the number of unlimited potential –and th ...

  9. 2018CCPC吉林赛区

    传送门 A - The Fool 整除分块即可. B - The World 模拟即可. C - Justice 题意: 给出\(n\)个数\(k_i\),每个数的权值为\(\frac{1}{2^{k ...

随机推荐

  1. python post接口测试第一个用例日记

    如下是我自己公司的一个请求,学习过程顺便记录下,都是白话语言,不那么专业,不喜勿喷! 首先看下图,post请求一般需要填写参数url, data(一般是表格类型的参数,如我们智联驾驶APP登录的参数) ...

  2. python3 读取文件-2

    1.脚本 from sys import argv script,filename = argv#以读的模式打开txt文件txt = open(filename,'r+')print ("t ...

  3. C++判断图像中一点是否在矩形中

    需要判断出四条之间组成的矩形的范围,其中矩形的边缘可能是倾斜不平行于x或者y轴. 考虑和很久,参考博客http://blog.csdn.net/dapengbusi/article/details/5 ...

  4. java多线程核心api以及相关概念(一)

    这篇博客总结了对线程核心api以及相关概念的学习,黑体字可以理解为重点,其他的都是我对它的理解 个人认为这些是学习java多线程的基础,不理解熟悉这些,后面的也不可能学好滴 目录 1.什么是线程以及优 ...

  5. Laravel 命令行工具之多线程同步大批量数据 DB连接混乱 解决方案

    记一次大批量数据的多进程同步 背景:因为公司的用户标识不完整,所以需要从集团同步一次用户标记数据,用户数据来源是微信,数量级为一百五十万,集团用户数量级为六百万 方案确定下来是集团开了一个查询接口,访 ...

  6. 【错误】【vscode】输出中文是乱码问题

  7. java并发编程(二十三)----(JUC集合)ConcurrentSkipListMap介绍

    ConcurrentSkipListMap提供了一种线程安全的并发访问的排序映射表.内部是SkipList(跳表)结构实现,在理论上能够在O(log(n))时间内完成查找.插入.删除操作. 理解Ski ...

  8. 利用hash或history实现单页面路由

    目录 html代码 css代码 JavaScript代码 hash方式 history 方式 浏览器端代码 服务器端 在chrome(版本 70.0.3538.110)测试正常 编写涉及:css, h ...

  9. 从SpringBoot构建十万博文聊聊缓存穿透

    前言 在博客系统中,为了提升响应速度,加入了 Redis 缓存,把文章主键 ID 作为 key 值去缓存查询,如果不存在对应的 value,就去数据库中查找 .这个时候,如果请求的并发量很大,就会对后 ...

  10. Win服务程序编写以及安装一般步骤

    Win服务程序编写以及安装一般步骤 Windows服务的优点有:1. 能够自动运行.2. 不要求用户交互.3. 在后台运行.本文将介绍常见服务程序编写的一般步骤以及注意事项. 设计服务程序实例: 创建 ...