Solution Set -「CF 1485」
「CF 1485A」Add and Divide
Link.
贪心。枚举 \([b,b+\log_{2}\text{range}]\) 然后取个 \(\min\)。
#include<cstdio>
#include<algorithm>
using namespace std;
int t,a,b,ans;
int search(int bas)
{
if(bas>1)
{
int tmp=a,res=0;
while(tmp>0)
{
tmp/=bas;
res++;
}
return res;
}
else return 1e9;
}
int main()
{
scanf("%d",&t);
while(t--)
{
scanf("%d %d",&a,&b);
if(a==b) printf("%d\n",2);
else if(a<b) printf("%d\n",1);
else
{
ans=1e9;
for(int i=b;i<=b+233;++i) ans=min(ans,search(i)+i-b);
printf("%d\n",ans);
}
}
return 0;
}
「CF 1485B」Replace and Keep Sorted
Link.
每个元素都可以上下摇摆于是预处理前缀差分和和后缀差分和(因为是 strictly increasing 所以要减 \(1\))即可。
#include<cstdio>
int n,m,k,a[100010],fro[100010],rea[100010];
void pre()
{
for(int i=1;i<=n;++i) fro[i]=a[i]-a[i-1]-1;
for(int i=n;i>=1;--i) rea[i]=a[i+1]-a[i]-1;
for(int i=1;i<=n;++i) fro[i]+=fro[i-1];
for(int i=n;i>=1;--i) rea[i]+=rea[i+1];
}
int main()
{
scanf("%d %d %d",&n,&m,&k);
for(int i=1;i<=n;++i) scanf("%d",&a[i]);
pre();
while(m--)
{
int l,r;
scanf("%d %d",&l,&r);
printf("%d\n",k-a[r]+a[l]-1+fro[r]-fro[l]+rea[l]-rea[r]);
}
return 0;
}
「CF 1485C」Floor and Mod
Link.
\rightarrow a=kb+k\rightarrow a=(b+1)k\rightarrow k=\frac{a}{b+1} \\
k<b\rightarrow k^{2}<k(b+1)=a\le x\rightarrow 1\le k\le\sqrt{x} \\
1\le a\le x\rightarrow 1\le(b+1)k\le x\rightarrow1\le b\le\frac{x}{k}-1 \\
\rightarrow\text{ans}=\sum_{k=1}^{\sqrt{x}}\max(0,\min(y,\frac{x}{k}-1)-k)
\]
#include<cstdio>
#include<algorithm>
using namespace std;
const long long zero=0ll;
long long t,x,y,ans;
int main()
{
scanf("%lld",&t);
while(t--)
{
scanf("%lld %lld",&x,&y);
ans=0;
for(long long i=1;i*i<=x;++i) ans+=max(zero,min(y,x/i-1)-i);
printf("%lld\n",ans);
}
return 0;
}
「CF 1485D」Multiples and Power Differences
Link.
- \((i+j)\bmod 2=1\):\(b_{i,j}=\text{lcm}(1,\cdots,16)\)。
- \((i+j)\bmod 2=0\):\(b_{i,j}=\text{lcm}(1,\cdots,16)+a_{i,j}^{4}\)。
#include<cstdio>
int n,m,x;
int main()
{
scanf("%d %d",&n,&m);
for(int i=1;i<=n;++i)
{
for(int j=1;j<=m;++j)
{
scanf("%d",&x);
if((i+j)&1) printf("%d ",720720);
else printf("%d ",720720+x*x*x*x);
}
printf("\n");
}
return 0;
}
「CF 1485E」Move and Swap
Link.
blue 因为就是一直往下跑,所以一次操作在哪里不影响。
于是设 \(f_{u}\) 为操作完毕后 red 跑到 \(u\) 的 maximum value。
- \(v\in\text{son}(u)\) 为 red:此时没发生 swapping,\(f_{u}=f_{v}+|a_{u}-a_{v}|\)。
- \(v\in\text{son}(u)\) 为 blue:此时发生了 swapping,那么枚举 \(v\) 的同层结点 \(anov\),\(f_{u}=f_{anov}+|a_{u}-a_{anov}|\)。
#include<queue>
#include<cstdio>
#include<algorithm>
using namespace std;
const long long INF=1e18;
vector<int> e[200010],same[200010];
int t,n,dep[200010],fa[200010],leaf;
long long a[200010],f[200010];
void dfs(int x,int las)
{
dep[x]=dep[las]+1;
fa[x]=las;
leaf=max(leaf,dep[x]);
for(int i=0;i<e[x].size();++i)
{
int y=e[x][i];
if(y^las) dfs(y,x);
}
}
void DP(int d)
{
for(int i=d;i>1;--i)
{
long long mn=INF,mx=-INF,one=-INF,ano=-INF;
for(int j=0;j<same[i].size();++j)
{
mn=min(mn,a[same[i][j]]);
mx=max(mx,a[same[i][j]]);
}
for(int j=0;j<same[i].size();++j) f[fa[same[i][j]]]=max(f[fa[same[i][j]]],max(a[same[i][j]]-mn,mx-a[same[i][j]])+f[same[i][j]]);
for(int j=0;j<same[i].size();++j)
{
one=max(one,f[same[i][j]]+a[same[i][j]]);
ano=max(ano,f[same[i][j]]-a[same[i][j]]);
}
for(int j=0;j<same[i].size();++j) f[fa[same[i][j]]]=max(f[fa[same[i][j]]],max(one-a[same[i][j]],ano+a[same[i][j]]));
}
}
int main()
{
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
for(int i=2;i<=n;++i)
{
int x;
scanf("%d",&x);
e[x].push_back(i);
e[i].push_back(x);
}
for(int i=2;i<=n;++i) scanf("%d",&a[i]);
dfs(1,0);
for(int i=1;i<=n;++i) same[dep[i]].push_back(i);
DP(leaf);
printf("%lld\n",f[1]);
for(int i=1;i<=n;++i)
{
f[i]=dep[i]=fa[i]=0;
same[i].clear();
e[i].clear();
}
leaf=0;
}
return 0;
}
「CF 1485F」Copy or Prefix Sum
Link.
Solution Set -「CF 1485」的更多相关文章
- Diary / Solution Set -「WC 2022」线上冬眠做噩梦
大概只有比较有意思又不过分超出能力范围的题叭. 可是兔子的"能力范围" \(=\varnothing\) qwq. 「CF 1267G」Game Relics 任意一个 ...
- Solution Set -「ARC 107」
「ARC 107A」Simple Math Link. 答案为: \[\frac{a(a+1)\cdot b(b+1)\cdot c(c+1)}{8} \] 「ARC 107B」Quadrup ...
- Solution -「CF 1342E」Placing Rooks
\(\mathcal{Description}\) Link. 在一个 \(n\times n\) 的国际象棋棋盘上摆 \(n\) 个车,求满足: 所有格子都可以被攻击到. 恰好存在 \(k\ ...
- Solution -「CF 1622F」Quadratic Set
\(\mathscr{Description}\) Link. 求 \(S\subseteq\{1,2,\dots,n\}\),使得 \(\prod_{i\in S}i\) 是完全平方数,并最 ...
- Solution -「CF 923F」Public Service
\(\mathscr{Description}\) Link. 给定两棵含 \(n\) 个结点的树 \(T_1=(V_1,E_1),T_2=(V_2,E_2)\),求一个双射 \(\varph ...
- Solution -「CF 923E」Perpetual Subtraction
\(\mathcal{Description}\) Link. 有一个整数 \(x\in[0,n]\),初始时以 \(p_i\) 的概率取值 \(i\).进行 \(m\) 轮变换,每次均匀随机 ...
- Solution -「CF 1586F」Defender of Childhood Dreams
\(\mathcal{Description}\) Link. 定义有向图 \(G=(V,E)\),\(|V|=n\),\(\lang u,v\rang \in E \Leftrightarr ...
- Solution -「CF 1237E」Balanced Binary Search Trees
\(\mathcal{Description}\) Link. 定义棵点权为 \(1\sim n\) 的二叉搜索树 \(T\) 是 好树,当且仅当: 除去最深的所有叶子后,\(T\) 是满的: ...
- Solution -「CF 623E」Transforming Sequence
题目 题意简述 link. 有一个 \(n\) 个元素的集合,你需要进行 \(m\) 次操作.每次操作选择集合的一个非空子集,要求该集合不是已选集合的并的子集.求操作的方案数,对 \(10^9 ...
- Solution -「CF 1023F」Mobile Phone Network
\(\mathcal{Description}\) Link. 有一个 \(n\) 个结点的图,并给定 \(m_1\) 条无向带权黑边,\(m_2\) 条无向无权白边.你需要为每条白边指定边权 ...
随机推荐
- ChatGPT玩法(二):AI玩转Excel表格处理
前言 在线免费体验ChatGpt:https://www.topgpt.one 你是否还在为记不住Excel的繁琐函数和公式而苦恼?如果是这样,那么不妨试试ChatExcel.即使你对函数一窍不通,也 ...
- CMU15445 (Fall 2020) 数据库系统 Project#2 - B+ Tree 详解(下篇)
前言 上一篇博客中实现了单线程 B+ 树的查找.插入.删除和迭代操作,这篇博客将完成实验二的剩余任务:并发 B+ 树.实现 B+ 树并发访问最简单的方法就是在整棵树上加一把大锁,但是这样会导致过多线程 ...
- Greenplum 上手
最近因为一个项目需要,我们准备考虑使用 Greenplum 应用在我们的大数据平台中的数据治理项目中,期待着可以在我们的项目过程中有着更大的价值发现 Greenplum 介绍 Greenplum是一种 ...
- Windows 环境下Docker 安装伪分布式 Hadoop
1.环境 Windows 11 Docker 20.0.2 2.拉取镜像 我选择 ubuntu20.04: docker pull ubuntu:20.04 然后我们用命令看一下本地镜像: docke ...
- 2023-07-09:给定N、M两个参数, 一共有N个格子,每个格子可以涂上一种颜色,颜色在M种里选, 当涂满N个格子,并且M种颜色都使用了,叫一种有效方法。 求一共有多少种有效方法。 1 <= N,
2023-07-09:给定N.M两个参数, 一共有N个格子,每个格子可以涂上一种颜色,颜色在M种里选, 当涂满N个格子,并且M种颜色都使用了,叫一种有效方法. 求一共有多少种有效方法. 1 <= ...
- NSSCTF-[羊城杯 2021]签到题
(脑洞题 gif放在stegsolve,分离gif 大胆猜测! 图一 28准则 图二 太极八卦阵 8 图三 三十而立 30 图四 北斗七星 7 图五 四个人 4大才子 图六 这个是歼-20 图七 两只 ...
- 【Azure Event Hub】Event Hub的Process Data页面无法通过JSON格式预览数据
问题描述 在Event Hub的门户页面中,可以通过Process Data页面查看Event Hub中的数据,但是当使用JSON格式预览时(View in JSON),却出现错误. 消息一: No ...
- AI视频风格转换:Stable Diffusion+EBSynth
这次转换的视频还比较稳定,先给大家看下效果. 这里传不了视频,还是放到盘盘了:https://www.aliyundrive.com/s/5mzfjLViyDa 书接上文,在上一篇文章中,我们首先使用 ...
- pandas 缺失值与空值处理
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/lwgkzl/article/detail ...
- AB实验遇到用户不均匀怎么办?—— vivo游戏中心业务实践经验分享
作者:vivo 互联网数据分析团队 - Li Bingchao AB实验是业务不断迭代.更新时最高效的验证方法之一:但在进行AB实验效果评估时需要特别关注"用户不均匀"的问题,稍不 ...