本来十分抗拒,但 GM 强制。

「ABC 183A」ReLU

Link.

略。

#include<cstdio>
int main()
{
long long n;
scanf("%lld",&n);
printf("%lld\n",n>0?n:0);
return 0;
}

「ABC 183B」Billiards

Link.

设答案坐标 \(A(m,n)\),然后算出 \(y_{AG}\) 解析式,再带 \(x=S'_{x}\),\(S'\) 是 \(S\) 关于直线 \(x=m\) 的对称点,得出来的 \(y\) 要等于 \(n\),然后列个方程解出来答案为 \(\frac{S_{x}G_{y}+G_{x}S_{y}}{S_{y}+G_{y}}\)。

#include<cstdio>
double sx,sy,gx,gy;
int main()
{
scanf("%lf%lf%lf%lf",&sx,&sy,&gx,&gy);
printf("%lf\n",(sx*gy+gx*sy)/(sy+gy));
return 0;
}

「ABC 183C」Travel

Link.

全排列枚举算答案即可。

#include<cstdio>
#include<vector>
#include<algorithm>
using namespace std;
vector<int> per;
int n,ans;
long long k,tim[20][20];
int main()
{
scanf("%d%lld",&n,&k);
for(int i=1;i<=n;++i)
{
for(int j=1;j<=n;++j) scanf("%lld",&tim[i][j]);
}
per.resize(n+2);
for(int i=1;i<=n;++i) per[i]=i;
per[n+1]=1;
do
{
long long sum=0;
for(int i=2;i<=n+1;++i) sum+=tim[per[i-1]][per[i]];
if(sum==k) ++ans;
}while(next_permutation(per.begin()+2,per.end()-1));
printf("%d\n",ans);
return 0;
}

「ABC 183D」Water Heater

Link.

前缀和。

#include<cstdio>
int n,s[200010],t[200010],p[200010],w;
long long dif[200010];
int main()
{
scanf("%d%d",&n,&w);
for(int i=1;i<=n;++i) scanf("%d%d%d",&s[i],&t[i],&p[i]);
for(int i=1;i<=n;++i)
{
dif[s[i]]+=p[i];
dif[t[i]]-=p[i];
}
for(int i=1;i<=200000;++i) dif[i]+=dif[i-1];
for(int i=0;i<=200000;++i)
{
if(dif[i]>w)
{
printf("No\n");
return 0;
}
}
printf("Yes\n");
return 0;
}

「ABC 183E」Water Heater

Link.

递推完了。

#include<cstdio>
const int mod=1e9+7;
long long ans;
int n,m,mp[2010][2010],row[2010],col[2010],dia[5010];
char str[2010];
int add(long long a,long long b)
{
if(a+b>=mod) return (a+b)%mod;
else return a+b;
}
int main()
{
scanf("%d%d",&n,&m);
for(int i=1;i<=n;++i)
{
scanf("%s",str+1);
for(int j=1;j<=m;++j)
{
if(str[j]=='.') mp[i][j]=0;
else mp[i][j]=1;
}
}
int lay=2e3;
for(int i=1;i<=n;++i)
{
for(int j=1;j<=m;++j)
{
if(mp[i][j])
{
row[i]=0;
col[j]=0;
dia[i-j+lay]=0;
}
else
{
int tmp=add(add(row[i],col[j]),dia[i-j+lay]);
if(i==1&&j==1) ++tmp;
row[i]=add(row[i],tmp);
col[j]=add(col[j],tmp);
dia[i-j+lay]=add(dia[i-j+lay],tmp);
ans=tmp;
}
}
}
printf("%d\n",ans);
return 0;
}

「ABC 183F」Confluence

Link.

并查集板。

#pragma GCC diagnostic error "-std=c++11"
#include<map>
#include<cstdio>
using namespace std;
map<int,int> mp[200010];
int n,m,fa[200010];
void makeset()
{
for(int i=1;i<=n;++i) fa[i]=i;
}
int findset(int x)
{
if(x^fa[x]) fa[x]=findset(fa[x]);
return fa[x];
}
void mergeset(int x,int y)
{
x=findset(x);
y=findset(y);
if(x^y)
{
if(mp[x].size()>mp[y].size())
{
fa[y]=x;
for(auto p:mp[y]) mp[x][p.first]+=p.second;
}
else
{
fa[x]=y;
for(auto p:mp[x]) mp[y][p.first]+=p.second;
}
}
}
int main()
{
scanf("%d%d",&n,&m);
makeset();
for(int i=1;i<=n;++i)
{
int x;
scanf("%d",&x);
mp[i][x]++;
}
while(m--)
{
int opt,opx,opy;
scanf("%d%d%d",&opt,&opx,&opy);
if(opt==1) mergeset(opx,opy);
else
{
int tmp=findset(opx);
printf("%d\n",mp[tmp][opy]);
}
}
return 0;
}

Solution Set -「ABC 183」的更多相关文章

  1. Solution Set -「ABC 217」

      大家好屑兔子又来啦! [A - Lexicographic Order]   说个笑话,\(\color{black}{\text{W}}\color{red}{\text{alkingDead} ...

  2. Diary / Solution Set -「WC 2022」线上冬眠做噩梦

      大概只有比较有意思又不过分超出能力范围的题叭.   可是兔子的"能力范围" \(=\varnothing\) qwq. 「CF 1267G」Game Relics   任意一个 ...

  3. 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 ...

  4. Solution -「ABC 219H」Candles

    \(\mathcal{Description}\)   Link.   有 \(n\) 支蜡烛,第 \(i\) 支的坐标为 \(x_i\),初始长度为 \(a_i\),每单位时间燃烧变短 \(1\) ...

  5. Solution -「ABC 215H」Cabbage Master

    \(\mathcal{Description}\)   Link.   有 \(n\) 种颜色的,第 \(i\) 种有 \(a_i\) 个,任意两球互不相同.还有 \(m\) 个盒子,每个盒子可以被放 ...

  6. Solution -「ABC 213G」Connectivity 2

    \(\mathcal{Description}\)   Link.   给定简单无向图 \(G=(V,E)\),点的编号从 \(1\) 到 \(|V|=n\).对于 \(k=2..n\),求 \(H= ...

  7. Solution -「ABC 213H」Stroll

    \(\mathcal{Description}\)   Link.   给定一个含 \(n\) 个结点 \(m\) 条边的简单无向图,每条边的边权是一个常数项为 \(0\) 的 \(T\) 次多项式, ...

  8. Solution -「ABC 217」题解

    D - Cutting Woods 记录每一个切割点,每次求前驱后驱就好了,注意简单判断一下开闭区间. 考场上采用的 FHQ_Treap 无脑莽. #include <cstdio> #i ...

  9. 「ABC 249Ex」Dye Color

    考虑停时定理. 初始势能为 \(\sum \Phi(cnt_i)\),末势能为 \(\Phi(n)\),我们希望构造这样一个 \(\Phi:Z\to Z\) 函数,使得每一次操作期望势能变化量为常数. ...

  10. Note -「Lagrange 插值」学习笔记

    目录 问题引入 思考 Lagrange 插值法 插值过程 代码实现 实际应用 「洛谷 P4781」「模板」拉格朗日插值 「洛谷 P4463」calc 题意简述 数据规模 Solution Step 1 ...

随机推荐

  1. Linux 下 R 源码安装指南

    本文章同步自作者的语雀知识库,请点击这里阅读原文. 如果你使用的 Linux 系统 GCC 版本太低, 又没有 root 权限 (即使有 root 权限又担心升级 GCC 带来的风险) ; 同时你又不 ...

  2. 测序数据学习笔记:bcl2fastq 安装

    相比二进制的 bcl2fastq2,基于 Perl 语言的 bcl2fastq-1.8.4 或许是从源码层面学习了解 Illumina 测序数据处理一个不错的选择.源码版本的 bcl2fastq-1. ...

  3. vulnhub_jangow

    来源 vulnhub:https://www.vulnhub.com/entry/jangow-101,754/ 描述 难度:简单 这在 VirtualBox 而不是 VMware 上效果更好 我这里 ...

  4. 插件化工程R文件瘦身技术方案 | 京东云技术团队

    随着业务的发展及版本迭代,客户端工程中不断增加新的业务逻辑.引入新的资源,随之而来的问题就是安装包体积变大,前期各个业务模块通过无用资源删减.大图压缩或转上云.AB实验业务逻辑下线或其他手段在降低包体 ...

  5. Centos6yum源切换

    CentOS 6操作系统版本结束了生命周期(EOL),Linux社区已不再维护该操作系统版本.建议您升级操作系统至CentOS 7及以上,如果您的业务过渡期仍需要使用CentOS 6系统中的一些安装包 ...

  6. CatBoost的分布式训练与调优:解决大规模数据集问题

    目录 <CatBoost 的分布式训练与调优:解决大规模数据集问题> 引言 随着深度学习的兴起,大规模数据集的存储和处理成为一个重要的技术挑战.由于数据集的规模巨大,传统的分布式训练方法已 ...

  7. React后台管理系统(TypeScript、Redux状态管理)环境搭建01

      搭建环境的时候,我们必须要先确保环境有node环境和npm环境,如下使用cmd命令 确保自己有了这两个环境之后我们就可以开始搭建项目,首先找一个文件夹,这个文件夹用来初始化当前环境,例如,我这里选 ...

  8. List 接口及其常用方法

    List 接口基本介绍 List接口是Collection接口的子接口,其主要特点如下: List中元素有序,是按照元素的插入顺序进行排序的.每个元素都有一个与之关联的整数型索引(索引从 0 开始), ...

  9. PHP代码获取网址参数的数据,请收藏。

    <? echo $_SERVER['HTTP_HOST']."<br>"; #localhost echo $_SERVER['PHP_SELF']." ...

  10. Rainbond助力“信创应用”迁移上云

    Rainbond v5.14.2 版本,又称信创版本.从这个版本开始,开源用户也可以利用 Rainbond 管理符合信创要求的硬件计算资源.在这个版本中,产品团队将此前只在企业版产品中存在的信创相关功 ...