首页 > 其他分享 >ABC 306

ABC 306

时间:2024-02-08 18:45:21浏览次数:32  
标签:10 ABC gcd 306 ax 100

前三题过水。

D

\(dp[i][j]\) 表示吃完前 \(i\) 个菜,胃的状况为 \(j\)(\(0\) 是健康,\(1\) 是不好)所获得的最大美味值。

E

暴力的平衡树。用 multiset 也行,一个记录前 \(k\) 大的,一个记录除了前 \(k\) 大之后的所有数。

每次修改看看是从哪边修改的,改完再考虑要不要更新前 \(k\) 大。

G

有向图。从 \(1\) 号结点出发。问走 \(10^{100^{10}}\) 步之后能否回到结点 \(1\)。

所有 \(1\) 到不了的和所有到不了 \(1\) 的点都可以删去。那么现在剩下一个强连通图。

结论:令 \(g\) 为所有包含 \(1\) 的环的环长 的 \(gcd\),如果 \(g\mid 10^{100^{10}}\),则答案为 YES,否则是 NO

证明:

考虑两个环,长度分别为 \(a,b\),则我们可以构造出任意一个长度为 \(gcd(a,b)\) 的倍数的,且至少为 \(lcm(a,b)\) 的环。

裴蜀定理:\(ax+by=gcd(a,b)\) 一定有解,但不一定是正整数解。

另一个结论:\(ax+by=c\) 有正整数解的充分不必要条件是 \(c>ab\)。(类似此题

从而两个环的情况得证,可以推广到若干个环。

接下来问题就是如何统计环的长度。

参考题解

标签:10,ABC,gcd,306,ax,100
From: https://www.cnblogs.com/FLY-lai/p/18012018

相关文章

  • ABC 305
    题目列表前三题过水,第四题分类讨论两个端点之间的距离和所在位置是清醒或睡眠即可。E题意:一张图上有一些结点有保安,每个保安有不同的警戒度\(h_i\),定义一个结点是安全的为这个结点可以到达一个保安\(x\),且距离\(\leqx\)。问有多少个安全的结点。痛失第五题很简单的......
  • ABC 310
    E\(dp[i][j]\)表示前\(i\)个里有多少个后缀答案为\(j\)。\(if(c[i]=='0')\{\)\(dp[i][0]=1;\)\(dp[i][1]=dp[i-1][0]+dp[i-1][1];\)\(\}\)\(else\{\)\(dp[i][0]=dp[i-1][1];\)\(dp[i][1]=1+dp[i-1][0];\)\(\}\)F......
  • ABC 309
    直接从F开。F三维偏序。把盒子按\(h_i\)排序,离散化,正常跑三维偏序(注意不能相等)。还要处理\(h_i\)相等的情况,可以再把\(h_i\)从大到小排序,然后\(w_i,d_i\)都要求严格大于,如果发现有一种情况是无论\(h_i\)咋排序都可以的,就删掉这种情况。G错排问题的推广。tjtj2......
  • ABC 312
    前三题氵D给定一个由(,?,)组成的字符串。每个?可以设定为任意括号。求有几种设定方法使得整个是合法括号序列。套路,dpE给定\(n\)个两两不相交的长方体,对每个长方体,求有多少个长方体与其有公共面。有一个可以大幅度优化代码麻烦程度的小技巧:因为坐标范围很小,我们直接把......
  • ABC 311
    前四题过水E枚举正方形的上边界所在行。对于第\(i\)行一个没洞的位置\((i,j)\),我们尝试求出以它为右上角的无洞正方形个数。结论:设以\((i,j-1)\)为右上角的无洞正方形边长最大为\(len\),那以\((i,j)\)为右上角的无洞正方形边长最大为\(len+1\)。以\((i,j)\)为右上......
  • [ABC327G] Many Good Tuple Problems 题解
    Description对于一对长度均为\(M\)且元素值在\(\left[1,N\right]\)之间的序列\((S,T)\),定义其为好的当且仅当:存在一个长度为\(N\)的\(01\)序列\(X\),使得其满足如下条件:对于任意\(i\in\left[1,M\right]\),有\(X_{S_i}\neqX_{T_i}\)。给定\(N,M\),求在......
  • AT_abc270_g [ABC270G] Sequence in mod P 题解
    题目传送门前置知识大步小步算法解法递推式为\(x_{n}=(ax_{n-1}+b)\bmodp\),发现可以统一消去\(\bmodp\),只在最后参与计算。以下过程省去模运算。当\(x_{0}=t\)时,则\(n=0\)即为所求。当\(a=0,x_{0}\net\)时,递推式转化为\(x_{n}=b\bmodp\)。若\(b=t\),则......
  • AtCoder-ABC-Ex乱写
    ABC233ExManhattanChristmasTree先将\((x,y)\)变成\((x+y,x-y)\),也就是曼哈顿转切比雪夫,之后曼哈顿距离\(\lek\)的在切比雪夫坐标系下就是一个正方形。用主席树做矩形和,外层套一个二分即可,时间复杂度\(\mathcal{O}(n\log^2n)\)。ABC233Ex#include<bits/stdc++.h......
  • 【多线程例题】使用三个线程,分别可以打印A,B,C。要求实现三个线程协同打印,顺序打印出ABC
    顺序打印-进阶版方法一:三个线程竞争同一个锁,通过count判断是否打印三个线程分别打印A,B,C方法一:通过count计数打印(三个线程上同样的锁,打印一个,召唤所有锁,如果不满足条件,则wait等待,锁自动解锁)方法二:/***有三个线程,分别只能打印A,B和C*要求按顺序打印ABC,打印10次*输出示......
  • ABC335 A~E 题解
    A题目大意输入一个字符串,把这个字符串的最后一位改成4后输出这个字符串。解题思路直接模拟即可AC代码#include<iostream>#include<math.h>#include<time.h>#include<stdio.h>#include<algorithm>#definelllonglonginlinevoidwork(){std::strings;s......