Codeforces Round 927 (Div. 3) EFG
E:Link
题意:给定长度小于 \(4 \times 10^5\) 的整数 \(n\),求从 \(0\) 到 \(n\) 各数位变化次数之和。
如:\(n = 12345\)
个位变化 \(12345\) 次,十位变化 \(1234\) 次,百位变化 \(123\) 次,以此类推。
考虑如何快速计算。
1 2 3 4 5
0 1 2 3 4
0 0 1 2 3
0 0 0 1 2
0 0 0 0 1
按列来算,可将复杂度降为 \(O(length)\)。
void solve() {
int n; cin >> n;
string s; cin >> s;
vector<int> a;
int t = 0;
for(auto &c : s) {
t += c - '0';
a.pb(t);
}
vector<int> ans;
reverse(All(a));
rep(i, 0, n - 2) {
a[i + 1] += a[i] / 10;
ans.pb(a[i] % 10);
}
t = a.back();
while(t) {
ans.pb(t % 10);
t /= 10;
}
reverse(All(ans));
int f = 0;
for(int &x : ans) {
if(x != 0) f = 1;
if(f) cout << x;
}
cout << '\n';
}
F:Link
简单的数据结构优化 dp。
题意:\(m\) 条线段,选若干点,选一个点的同时会选中所有覆盖他的全部线段,每条线段只能被选一次,最大化被选线段数量。
- \(dp[i]\) 表示 \([1, i]\) 中的答案。
- \(cnt[i]\) 表示覆盖 \(i\) 的线段数量。
- \(L[i]\) 表示所有覆盖 \(i\) 的线段左端点最小值。
那么
\]
\(L[i]\) 等价于右端点为 \([i, n]\) 的线段左端点最小值,从后往前扫一遍即可。
可以用树状数组实现。
void solve() {
cin >> n >> m;
a.init(n);
vector<vector<int>> qr(n + 1);
rep(i, 1, m) {
int l, r; cin >> l >> r;
qr[r].pb(l);
a.add(l, 1), a.add(r + 1, -1);
}
int minL = n + 1;
per(i, n, 1) {
for(int l : qr[i]) {
minL = min(minL, l);
}
L[i] = min(i + 1, minL);
}
dp.init(n);
rep(i, 1, n) {
if(L[i] <= i) {
dp.mod(i, dp.max(L[i] - 1) + a.sum(i));
}
}
cout << dp.max(n) << '\n';
}
树状数组代码。
struct Fenwick_Tree {
int t[N], n;
int lowbit(int x) {
return x & -x;
}
void init(int x, int v = 0) {
n = x;
rep(i, 1, n) t[i] = v;
}
void mod(int p, int v) {
while(p <= n) {
t[p] = std::max(t[p], v);
p += lowbit(p);
}
}
int max(int p) {
int ret = 0;
while(p) {
ret = std::max(ret, t[p]);
p -= lowbit(p);
}
return ret;
}
void add(int p, int v) {
while(p <= n) {
t[p] += v;
p += lowbit(p);
}
}
int sum(int p) {
int ret = 0;
while(p) {
ret += t[p];
p -= lowbit(p);
}
return ret;
}
} a, dp;
G:拓欧求边权,跑 dij
Codeforces Round 927 (Div. 3) EFG的更多相关文章
- Codeforces Round #552 (Div. 3) EFG(链表+set,dp,枚举公因数)
E https://codeforces.com/contest/1154/problem/E 题意 一个大小为n(1e6)的数组\(a[i]\)(n),两个人轮流选数,先找到当前数组中最大的数然后选 ...
- Codeforces Round #366 (Div. 2) ABC
Codeforces Round #366 (Div. 2) A I hate that I love that I hate it水题 #I hate that I love that I hate ...
- Codeforces Round #354 (Div. 2) ABCD
Codeforces Round #354 (Div. 2) Problems # Name A Nicholas and Permutation standard input/out ...
- Codeforces Round #368 (Div. 2)
直达–>Codeforces Round #368 (Div. 2) A Brain’s Photos 给你一个NxM的矩阵,一个字母代表一种颜色,如果有”C”,”M”,”Y”三种中任意一种就输 ...
- cf之路,1,Codeforces Round #345 (Div. 2)
cf之路,1,Codeforces Round #345 (Div. 2) ps:昨天第一次参加cf比赛,比赛之前为了熟悉下cf比赛题目的难度.所以做了round#345连试试水的深浅..... ...
- Codeforces Round #279 (Div. 2) ABCDE
Codeforces Round #279 (Div. 2) 做得我都变绿了! Problems # Name A Team Olympiad standard input/outpu ...
- Codeforces Round #262 (Div. 2) 1003
Codeforces Round #262 (Div. 2) 1003 C. Present time limit per test 2 seconds memory limit per test 2 ...
- Codeforces Round #262 (Div. 2) 1004
Codeforces Round #262 (Div. 2) 1004 D. Little Victor and Set time limit per test 1 second memory lim ...
- Codeforces Round #371 (Div. 1)
A: 题目大意: 在一个multiset中要求支持3种操作: 1.增加一个数 2.删去一个数 3.给出一个01序列,问multiset中有多少这样的数,把它的十进制表示中的奇数改成1,偶数改成0后和给 ...
- Codeforces Round #268 (Div. 2) ABCD
CF469 Codeforces Round #268 (Div. 2) http://codeforces.com/contest/469 开学了,时间少,水题就不写题解了,不水的题也不写这么详细了 ...
随机推荐
- RelationNet++:基于Transformer融合多种检测目标的表示方式 | NeurIPS 2020
论文提出了基于注意力的BVR模块,能够融合预测框.中心点和角点三种目标表示方式,并且能够无缝地嵌入到各种目标检测算法中,带来不错的收益 来源:晓飞的算法工程笔记 公众号 论文: RelationN ...
- KingbaseES V8R6 创建索引create index concurrently被阻塞
前言 CREATE INDEX CONCURRENTLY(CIC)是DBA们最常用的语句之一,它的好处是不阻塞DML语句. 但在大事务.长事务较多的系统,它可能被阻塞得很久. 本篇就从这个阻塞的案例开 ...
- KingbaseES V8R6 sys_squeeze 使用
sys_squeeze介绍 sys_squeeze是KingbaseES的一个扩展插件,该组件将提供人工调用命令实现对表dead tuple的清理工作.该组件在清理表空间的过程中,不会全程加排他锁,能 ...
- KingbaseES V8R6运维案例之---sys_waldump解析wal日志
案例说明: wal日志文件记录了,事务操作的redo日志信息,由于wal日志文件是二进制文件,无法直接读取其文件内容.sys_waldump 可以解决这个问题,通过sys_waldump来解析wal ...
- Qt 实现涂鸦板二:实现放大功能
在一的基础上改造: .h 文件 #pragma once #include <QtWidgets/QWidget> #include "ui_xuexi.h" #inc ...
- 鸿蒙开发套件之DevEco Profiler助您轻松分析应用性能问题
作者:shizhengtao,华为性能调优工具专家 应用的性能优化一直以来都是开发者所面临的一大难题,在2023HDC大会上全新亮相的HarmonyOS NEXT开发者预览版,其中鸿蒙开发套件Dev ...
- Pytorch Dataset入门
Dataset入门 Pytorch Dataset code:torch/utils/data/dataset.py#L17 Pytorch Dataset tutorial: tutorials ...
- CF1933D Turtle Tenacity: Continual Mods
思路: 此题其实很简单,不要被邪恶的出题人迷惑了双眼. 此题判断有解一共有两种情况. 通过题意可以知道将原数组排序后如果 \(b_{1} \ne b_{2}\),那么最后的结果一定 \(\ne 0\) ...
- 《c#高级编程》第3章C#3.0中的更改(五)——扩展方法
C#扩展方法是一种语法,可以为已有的类添加新的实例方法,而无需修改原来的类定义.它的语法形式为: ```csharppublic static void MyExtensionMethod(this ...
- 前端使用 Konva 实现可视化设计器(6)
请大家动动小手,给我一个免费的 Star 吧~ 这一章处理一下复制.粘贴.删除.画布归位.层次调整,通过右键菜单控制. github源码 gitee源码 示例地址 复制粘贴 复制粘贴(通过快捷键) / ...