Solution Set -「ARC 109」
「ARC 109A」Hands
Link.
讨论即可,除了煞笔出题人写了个死马的题面。
#include<cstdio>
#include<algorithm>
using namespace std;
int a,b,x,y,ans;
int main()
{
scanf("%d%d%d%d",&a,&b,&x,&y);
if(a>b) printf("%d\n",min(x<<1,y)*max(0,abs(a-b)-1)+x);
else printf("%d\n",min(x<<1,y)*max(0,abs(a-b))+x);
return 0;
}
「ARC 109B」log
Link.
要贪心的取的话,肯定是先把 \(n+1\) 取了,然后我们来二分。
\(1-n\) 分别有 \(n+1\) 到 \(2\) 种方法可以组成他。
然后来考虑怎么 check。
可以知晓,如果没有这一块多的木块,就一定需要 \(n\) 块木头。
然后就按开头那个贪心,把 \(n+1\) 从 \(1\) 分完,剩下的再依次分。
#include<cstdio>
unsigned long long n;
bool check(unsigned long long x)
{
return (x*(x+1)>>1)<=n+1;
}
unsigned long long search(unsigned long long l,unsigned long long r)
{
unsigned long long res=0;
while(l<=r)
{
unsigned long long mid=(l+r)>>1;
if(check(mid))
{
l=mid+1;
res=n-mid+1;
}
else r=mid-1;
}
return res;
}
int main()
{
scanf("%llu",&n);
printf("%llu\n",search(1,2e9));
return 0;
}
「ARC 109C」Large RPS Tournament
Link.
\(2^{k}\)!好耶!!!
考虑倍增 DP。设 \(f_{i,j}\) 为区间 \([i,i+2^{j}-1]\) 的 winner's hand。
设计一个函数 \(\text{tournament}(P,Q)\) 为 \(P\)、\(Q\) 比武后的赢家。
转移即
\]
当然你不能直接用 \(2^{k}\) 当成序列来做,反正他是循环节我们直接做 \(k\) 轮最后合并即可。
实际实现时不需要这么写(主要是写不来)(好像可以记忆化?)。
#include<string>
#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
string s;
int n,k;
char tour(char one,char ano)
{
if(one=='R')
{
if(ano=='R') return 'R';
else if(ano=='P') return 'P';
else return 'R';
}
else if(one=='P')
{
if(ano=='R') return 'P';
else if(ano=='P') return 'P';
else return 'S';
}
else
{
if(ano=='R') return 'R';
else if(ano=='P') return 'S';
else return 'S';
}
}
int main()
{
scanf("%d%d",&n,&k);
cin>>s;
while(k--)
{
string tmp=s+s;
for(int i=0;i<n;++i) s[i]=tour(tmp[i<<1],tmp[i<<1|1]);
}
printf("%c\n",s[0]);
return 0;
}
「ARC 109D」L
图画出来差不多,向目标进发,步数下界就出来了 \(\max\{|x|,|y|\}\)。
这张图是在这里嫖的:

注意特判一些奇怪的情况,具体自己看代码吧吧吧吧。
#include<cstdio>
#include<algorithm>
using namespace std;
int t,onex,oney,anox,anoy,exx,exy,finalx,finaly;
int main()
{
scanf("%d",&t);
while(t--)
{
scanf("%d%d%d%d%d%d",&onex,&oney,&anox,&anoy,&exx,&exy);
finalx=min(onex,min(anox,exx));
finaly=min(oney,min(anoy,exy));
finalx=(finalx<<1)+(finalx!=onex)+(finalx!=anox)+(finalx!=exx)-1;
finaly=(finaly<<1)+(finaly!=oney)+(finaly!=anoy)+(finaly!=exy)-1;
printf("%d\n",max(abs(finalx),abs(finaly))+((finalx==finaly)&&(finalx>1||finalx<0)));
}
return 0;
}
「ARC 109E」1D Reversi Builder
Link.
「ARC 109F」1D Kingdom Builder
Link.
Solution Set -「ARC 109」的更多相关文章
- 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 ...
- 「ARC 139F」Many Xor Optimization Problems【线性做法,踩标】
「ARC 139F」Many Xor Optimization Problems 对于一个长为 \(n\) 的序列 \(a\),我们记 \(f(a)\) 表示从 \(a\) 中选取若干数,可以得到的最 ...
- Solution -「ARC 104E」Random LIS
\(\mathcal{Description}\) Link. 给定整数序列 \(\{a_n\}\),对于整数序列 \(\{b_n\}\),\(b_i\) 在 \([1,a_i]\) 中等概率 ...
- Diary / Solution Set -「WC 2022」线上冬眠做噩梦
大概只有比较有意思又不过分超出能力范围的题叭. 可是兔子的"能力范围" \(=\varnothing\) qwq. 「CF 1267G」Game Relics 任意一个 ...
- Solution -「ARC 101D」「AT4353」Robots and Exits
\(\mathcal{Description}\) Link. 有 \(n\) 个小球,坐标为 \(x_{1..n}\):还有 \(m\) 个洞,坐标为 \(y_{1..m}\),保证上述坐标 ...
- Solution -「ARC 110D」Binomial Coefficient is Fun
\(\mathcal{Description}\) Link. 给定非负整数序列 \(\{a_n\}\),设 \(\{b_n\}\) 是一个非负整数序列且 \(\sum_{i=1}^nb_i\ ...
- Solution -「ARC 124E」Pass to Next
\(\mathcal{Description}\) Link. 有 \(n\) 个人站成一个环,初始时第 \(i\) 个人手里有 \(a_i\) 个球.第 \(i\) 个人可以将自己手中任意数 ...
- Solution -「ARC 126E」Infinite Operations
\(\mathcal{Description}\) Link. 给定序列 \(\{a_n\}\),定义一次操作为: 选择 \(a_i<a_j\),以及一个 \(x\in\mathbb R ...
- Solution -「ARC 126F」Affine Sort
\(\mathcal{Description}\) Link. 给定 \(\{x_n\}\),令 \[f(k)=\left|\{(a,b,c)\mid a,b\in[0,c),c\in[1,k ...
- Solution -「ARC 125F」Tree Degree Subset Sum
\(\mathcal{Description}\) Link. 给定含有 \(n\) 个结点的树,求非负整数对 \((x,y)\) 的数量,满足存在 \(\exist S\subseteq V ...
随机推荐
- 为 Windows 系统替换优雅的苹果字体
使用 Windows 的童鞋,大家估计都用惯了默认的微软雅黑字体,字体本身也很不错,但使用久了也该换个别的字体了,换个字体换个心情嘛. 今天给大家推荐一款非常棒的一键更换 Windows 系统字体的软 ...
- Spring框架参考手册(4.2.6版本)翻译——第三部分 核心技术 6.10.8 提供带注解的限定符元数据
6.1.1 提供带注解的限定符元数据 在第6.9.4节"使用@Qualifier微调基于注解的自动装配"中讨论了@Qualifier注解.该部分中的示例阐释了,在解析自动装配候选者 ...
- PicoRV32-on-PYNQ-Z2: An FPGA-based SoC System——RISC-V On PYNQ项目复现
本文参考: 1️⃣ 原始工程 2️⃣ 原始工程复现教程 3️⃣ RISCV工具链安装教程 本文工程: https://bhpan.buaa.edu.cn:443/link/4B08916BF2CDB4 ...
- 记录部署Datax、Datax-web 过程碰到的问题
我的第一篇博客 datax在网络上部署的文档有很多,这里不重复阐述,只描述过程中碰到的些许问题,记录下来. 1. 1 ERROR RetryUtil - Exception when calling ...
- java中基本数据类型和包装数据类型
基本数据类型和包装数据类型在 Java 中有着重要的区别和联系,对于 Java 程序员来说,熟悉这两种数据类型的特点和使用方法是非常必要的. 基本数据类型 Java 中的基本数据类型一共有 8 种,分 ...
- SpringBoot中的yml文件中读取自定义配置信息
SpringBoot中的yml文件中读取自定义配置信息 开发中遇到的问题,百度的答案我都没有找到,去找大佬获取到的经验总结,这只是其中的一种方法,如果其他大佬有新的方法,可以分享分享. 一.非静态属性 ...
- 【笔试实战】LeetCode题单刷题-编程基础 0 到 1【一】
1768. 交替合并字符串 题目链接 1768. 交替合并字符串 题目描述 给你两个字符串 word1 和 word2 .请你从 word1 开始,通过交替添加字母来合并字符串.如果一个字符串比另一个 ...
- APP流水线测试领域探索与最佳实践
1 背景 APP端UI自动化因其特殊性(需连接测试机)一般都在本地执行,这种执行方式的局限性有以下弊端: 时效性低:研发每次打包后都需要通知测试,测试再去打包平台取包,存在时间差 研发自测或产品验收无 ...
- 【Jenkins】 GitLab Gitee GitHub 部署
Jenkins GitLab Gitee GitHub 部署 环境 Jenkins Git Maven Jenkins 部署可参考文章:https://www.cnblogs.com/cxt618/p ...
- Day12_Java_作业
1:需求:请设计一个方法,可以实现获取任意范围内的随机数. package student; import java.util.Random; import java.util.Scanner; /* ...