首页 > 其他分享 >CF1444A Division

CF1444A Division

时间:2023-08-27 10:45:35浏览次数:56  
标签:aa Division t2 long ans 质因数 CF1444A lld

思路

首先特判特殊情况,若 \(p_i\) 本身不可被 \(q_i\) 整除,那么 \(x_i\) 就直接取 \(p_i\) 最大。

否则的话,\(p_i=q_i\times k\)。所以 \(q\) 的质因数,\(p\) 都有,并且数量一定大于等于 \(q\) 的这个质因数的数量。

那么如果 \(x_i\) 的某个质因数个数小于 \(q_i\) 的话,\(x_i\) 就不能被 \(q_i\) 整除。

其他的质因数个数就可以取 \(p_i\) 的。

所以我们先记录 \(p_i\) 到 \(a\),然后直接枚举 \(q_i\) 的质因数,再然后除以 \(p_i\) 所有的这个质因数的积,再乘以 \(q_i\) 所有的这个质因数的积,再除以这个质因数,这样就得到了一个解,最后取所有解的最大值即可。

AC code

#include<bits/stdc++.h>
using namespace std;
int T;
long long a,b,ans,aa;
int main()
{
	scanf("%d",&T);
	while(T--)
	{
		scanf("%lld%lld",&a,&b),ans=0,aa=a;
		if(a%b){printf("%lld\n",a);continue;}
		for(long long i=2;i*i<=b;++i)
		{
			if(b%i==0)
			{
				long long t2=1;
				while(a%i==0) a/=i,t2*=i;
				while(b%i==0) b/=i,t2/=i;
				ans=max(ans,aa/t2/i);
			}
		}
		if(b>1)
		{
			long long t2=1;
			while(a%b==0) a/=b,t2*=b;
			ans=max(ans,aa/t2);
		}
		printf("%lld\n",ans);
	}
}

标签:aa,Division,t2,long,ans,质因数,CF1444A,lld
From: https://www.cnblogs.com/One-JuRuo/p/17659961.html

相关文章

  • Atcoder Regular Contest 114 F - Permutation Division
    显然分成\(k\)段以后,最大化形成的排列的字典序的策略是将所有段按第一个元素的大小降序排列。由于最终排列的字典序肯定\(\ge\)原排列的字典序,因此我们考虑最大化最终排列与原排列的LCP,这部分就考虑二分答案,记\(dp_i\)表示以\(p_1\)开始\(p_i\)结尾的LDS的长度,那么......
  • ARC114F Permutation Division
    题意给定一个\(1\simN\)的排列,Alice把它划分成\(k\)段,Bob把这\(k\)段任意排列。Alice想让字典序最小,Bob想让字典序最大。请问最后的排列。数据范围:\(1\lek\leN\le2\times10^5\)。题解首先Bob的排序只取决于每个段第一个数的大小。字典序不会变小,所以考虑......
  • 【Introductory Biology】Lecture 12 - Chemical Genetics 1 - Cell Division & Segre
    文章目录SlidesRefSlidescentraldogma中心法则…Andwe’regoingtostarttalkingabouthowinformationflowsbetweencells,sofromaparentcelltoitsdaughtercells.Andwe’realsogonnatalkabouthowinformationflowsfromgenerationtothenext.Andth......
  • 2014 Pacific Northwest Region Programming Contest—Division 2 Problem U — lim
    Incollegefootball,manydifferentsourcescreatealistoftheTop25teamsinthecountry.Sinceit’ssubjective,theselistsoftendiffer,butthey’reusuallyverysimilar.Yourjobistocomparetwooftheselists,anddeterminewheretheyaresimi......
  • AtCoder Regular Contest 114 F Permutation Division
    洛谷传送门AtCoder传送门这题居然是之前某场模拟赛(contest701)的T1……(@Vidoliga场切但是被卡常/bx)下面记\(m\)为原题面中的\(K\),\(a_i\)为原题面中的\(P_i\)。不难发现后手的策略是把所有段按照段的第一个数从大到小排序接在一起。考虑若\(a_1\lem\),则先手能把所......
  • ARC159F Good Division【性质,DP,线段树】
    定义一个序列是好的当且仅当其可以通过每次删去一对相邻的不同的数把序列删空。给定一个长度为\(2n\)的序列\(a\),求有多少种划分方式使得每一段都是好的。答案对\(998244353\)取模。\(n\leq5\times10^5\),时限\(\text{5.0s}\)。先考虑什么样的数列是合法的,显然必要条......
  • CodeChef Starters 83 Division 1 解题报告
    CodeChefStarters83Division1题解\(\newcommand\v\mathrm\)\(\text{ByDaiRuiChen007}\)ContestLinkA.ConstructStringProblemLink题目大意给定长度为\(n\)的字符串\(S\),每次操作可以把三个相同的字符变成一个同样的字符(\(\texttt{ccc}\to\textttc\))求若......
  • UVa 11498 Division of Nlogonia (water ver.)
    11498-DivisionofNlogoniaTimelimit:1.000secondshttp://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24&page=show_problem&problem=2493TheProblemAftercenturiesofhostilitiesandskirmishesbetweenthefour......
  • division by zero引发的存储过程假运行
    在存储过程中有用到除法去得到数据的,并且除数字段一定有0值的存在才导致的错误。导致的现象就是存储过程运行看似没有问题,成功执行,但是实际看表数据量却是没有数据的,(还有......
  • Using / for division outside of calc() is deprecated and will be removed in Dart
    Scss/Sass项目里使用/报错:Using/fordivisionoutsideofcalc()isdeprecatedandwillberemovedinDartSass2.0.0.。指的是不能直接使用/来进行相除,已经在......