首页 > 其他分享 >AtCoder Beginner Contest 315

AtCoder Beginner Contest 315

时间:2024-03-04 15:25:36浏览次数:35  
标签:AtCoder gcd Beginner Contest dfrac 315 times 枚举 text


\[\large \text{Round 6 : AtCoder Beginner Contest 315} \]

一言:
愿悲 、爱恋、你和宇宙以及那颗星辰,能够永远拥抱我们。
——THE BEYOND-機動戦士ガンダム40周年纪念曲

这场打的一般,主要还是一开始网卡爆了把心态弄得很不好,一定程度上影响了发挥。

\(\text{G: Ai + Bj + Ck = X (1 <= i, j, k <= N)}\)

这题其实还是很好想的,主要问题出现在实现上面。

我们可以考虑枚举 \(i\),那么接下来就会得到一个式子 \(\text{Bj + Ck = x - Ai}\)。显然,我们可以通过扩展欧几里德得到一组通解 \(y,z\)。

那么对于每一个整数 \(p\),就会有 \(B\times y+C\times z=B\times (y-p \times \dfrac{C}{\gcd(B,C)})+c\times (z+p\times \dfrac{B}{\gcd(B,C)})=x-Ai\)

实际上就是要你求出有多少个 \(p\) 满足 \(1 \le y-p \times \dfrac{C}{\gcd(B,C)} ,z+p\times \dfrac{B}{\gcd(B,C)}\le n\)。其实可以把它转化为当 \(p<0\) 以及 \(p \ge0\) 两种情况分别讨论,这样做会方便不少。

\(\text{Submissions}\)

\(\text{What I learned:}\)

  • 以后 AT 网卡的时候,尝试重启电脑吧,亲测有效。

  • 对于给定三个数 \(i,j,k\) 合在一起的限制,要求方案,可以考虑枚举 \(i\),算出 \(j,k\) 的一些限制,然后将可能的情况加在一起。

  • \(\text{From Problem E}\),我们发现,如果我们可以采取一些代价减少操作数,那么当你枚举代价时,请明白这个代价最多只需要枚举到总操作数之和,这样可以减少复杂度。

标签:AtCoder,gcd,Beginner,Contest,dfrac,315,times,枚举,text
From: https://www.cnblogs.com/SFsaltyfish/p/18051868

相关文章

  • AtCoder Beginner Contest 310
    \[\large\text{Round8:AtCoderBeginnerContest310(VP)}\]一言:虚伪的眼泪,会伤害别人,虚伪的笑容,会伤害自己。——反叛的鲁鲁修\(\text{F}\)竟然没有第一时间想到状压,还是太蒟了。。\(\text{F:Make10Again}\)这题看到一个子集,再加上子集和的范围只需要考虑小于......
  • AtCoder Beginner Contest 313
    \[\large\text{Round2:AtCoderBeginnerContest313(VP)}\]一言:当我拔出第二把剑时,就是为了我所爱之人——刀剑神域这场比赛真的是大败而归,只A了\(A,B,C,E\)。。。虽然但是,\(F,G\)确实不可做,但是\(D\)题还是有点可惜了。\(\text{D:OddorEven}\)感觉考场......
  • AtCoder Beginner Contest 343
    AtCoderBeginnerContest343比赛链接A-WrongAnswer思路简单的模拟,事实上我们需要注意一下当a和b都为0的情况Code#include<bits/stdc++.h>usingnamespacestd;#defineintlonglongvoidsolve(){ inta,b; cin>>a>>b; intans=a+b; //cout<<a+b-1<<en......
  • AtCoder Beginner Contest 343
    基本情况前四题秒了,但是都有不够优雅的地方F知道是线段树,但是写不出来,极其绝望C-343C-343(atcoder.jp)更简洁的回文判断MyCodeboolcheck_p(i64x){std::strings(std::to_string(x));intn=sz(s);for(inti=0;i<n/2;i++){if......
  • AtCoder Beginner Contest 343:起航
    AtCoderBeginnerContest343:起航2024/3/2/22:53有点儿晚了,简单总结一下。前4题都很基础,一点点小思维,其中C题边界又盲目追求刚刚好,WA了一次,总结经验,程序实际设计应该略微大于数据范围。EFG开始就做不动了,只剩了20多分钟,先通读然后看E题,E题读了半天发现大概是体积交并反......
  • AtCoder Beginner Contest 343
    B-AdjacencyMatrix难度:⭐题目大意给定一个无向图的邻接矩阵,问每个节点都和哪些节点相练;解题思路没啥好说的;神秘代码#include<bits/stdc++.h>#defineintlonglong#defineIOSios::sync_with_stdio(false);cin.tie(0);cout.tie(0);#defineendl'\n'......
  • AtCoder Beginner Contest 343(小白来了)
    A-WrongAnswer思路:给你两个数(A,B0~9)输出非A+B(0~9)解法:许多(A+B)^1等等Code:#include<iostream>usingnamespacestd;intmain(){intA,B;cin>>A>>B;cout<<!(A+B);return0;}B-AdjacencyMatrix思路......
  • AtCoder Beginner Contest 342
    B-Whichisahead?难度:⭐题目大意给定n个人的位置顺序,现有m次询问,给出a,b两个人,问谁在前面;解题思路模拟就行;神秘代码#include<bits/stdc++.h>#defineintlonglong#defineIOSios::sync_with_stdio(false);cin.tie(0);cout.tie(0);#defineendl......
  • AtCoder DP Contest vp 记录
    题单。A从\(i-1\)与\(i-2\)转移即可。#include<bits/stdc++.h>usingnamespacestd;intn;inth[100031];intdp[100031];intmain(){ cin>>n; for(inti=1;i<=n;i++)cin>>h[i]; memset(dp,0x3f,sizeof(dp)); dp[1]=0; for(inti=1;i<......
  • AtCoder Regular Contest 172
    Preface开学了小溜一下之前没打的ARC,结果这场后面没有计数改成数论了又给我创飞了这场的DE都太玄学了,属于是自己想半天一点屌思路没有然后看一眼题解就顿悟的类型总结就是菜得发昏A-Chocolate挺有意思的签到题考虑从大到小依次切,对于一个原来\(H'\timesW'\)的块,为了尽量......