您当前的位置: 首页 > 

先求一个导

暂无认证

  • 5浏览

    0关注

    286博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

codeforces 777-div2 D(只会暴力)

先求一个导 发布时间:2022-03-19 11:30:49 ,浏览量:5

题目 题意: 给定数x和d,求是否存在至少两种方法使得x为several个beautiful数的乘积。(可以仅一个数,也可以2、3个数这样的) defination good: 一个数是d的倍数 beautiful: 一个数是good,且不是(dd)的倍数 思路: 可以用根号n的复杂度冲过去,只有100组测试样例。而且剪枝以后实际达不到根号n。具体做法就是递归的进行试除法,当因子满足是beautiful,就除以该因子,直到当前数满足是beautiful,方案数++。因为一个数是beautiful,说明是d的倍数,但不是dd的倍数,说明他的因子里至多一个d因子,无须接着试除了,除了也不会有满足条件的。 时间复杂度: O(T*根号n) 代码:

// Problem: D. Madoka and the Best School in Russia
// Contest: Codeforces - Codeforces Round #777 (Div. 2)
// URL: https://codeforces.com/contest/1647/problem/D
// Memory Limit: 256 MB
// Time Limit: 2000 ms
// 
// Powered by CP Editor (https://cpeditor.org)

#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define OldTomato ios::sync_with_stdio(false),cin.tie(nullptr),cout.tie(nullptr)
#define fir(i,a,b) for(int i=a;i=2) return;
	if(x%m==0&&x%(m*m))
	{
		ans++;
		return ;
	}
	for(int i=st;i*i= 2) puts("YES");
    else puts("NO");
}
signed main(void)
{  
   T = 1;
   // OldTomato; cin>>T;
   read(T);
   while(T--)
   {
   	 solve();
   }
   return 0;
}

关注
打赏
1662037414
查看更多评论
立即登录/注册

微信扫码登录

0.5544s