AI大模型教程
一起来学习

【小羊肖恩】小羊杯 Round 2 C+K

题目链接:https://ac.nowcoder.com/acm/contest/100672#question

C.是毛毛虫吗?

思路:

其实很简单,假设我们要满足题目所给条件,那么这个毛毛虫最坏情况下肯定是一条如下图所示的无向图

右端省略号为对称图形 ,其中红线为毛毛虫的主体

那我们可以知道,只要对于其中任意一个节点增加一个,那么就无法构成毛毛虫

总结一下,即只要一个节点有三个子节点,且这三个子节点都含有一个子节点(不为父节点)

那么就无法构成毛毛虫

代码:

#include 
#include 
#include
#include
#include
#include 
#include 
#include 
#define ll long long
using namespace std;

void solve()
{
    int n;
    cin >> n;
    vector >a(n + 1);
    for (int i = 1; i > x >> y;
        a[x].push_back(y);
        a[y].push_back(x);

    }
    for (int i = 1; i = 3)
        {
            int sum = 0;
            for (int j = 0; j  1)sum++;
            }
            if (sum >= 3) {
                cout sync_with_stdio(false);
    int t = 1;
    cin >> t;
    while (t--)
    {
        solve();
    }
    return 0;
}

K.友善的数

思路:

首先,只有x或y有一个为1,那么必定无法找出

那么接下来我们考虑什么情况这个数k与x,y不互质

可以显然看出,我们最小的情况肯定是 Px*Py ,其中P为构成x/y的最小质因数

那么就分两种情况

①.gcd(x,y) == 1

此时x和y互质,那么此时只能选x和y的最小质因数

②.gcd(x,y) != 1

此时x和y有着公约数,那么我们可以考虑旋转公约数的最小质因子,但是不能保证其一定比x和y的最小质因数之积小,所以还需要取min

对于如何选取x和y的质因数,我们可以想到欧拉筛,在欧拉筛中我们保证每次筛选都是最小质因数的i倍,所以我们便可以定义一个数组用于储存每个数的最小质因数,同时预处理一下

代码:

#include 
#include 
#include
#include
#include
#include 
#include 
#include 
#define ll long long
using namespace std;

ll gcd(ll a,ll b)
{
    return !b ? a : gcd(b, a % b);
}
const int N = 2e5+1;
bool isp[N + 1];
vector p;
int minp[N + 1];

void els()
{
    memset(isp, true, sizeof isp);
    isp[0] = isp[1] = false;
    for (int i = 2; i > x >> y;
    if (x == 1 || y == 1)
    {
        cout sync_with_stdio(false);
    int t = 1;
    cin >> t;
    while (t--)
    {
        solve();
    }
    return 0;
}

文章来源于互联网:【小羊肖恩】小羊杯 Round 2 C+K

相关推荐: AI绘画主流风格解析:找到你的创作方向

AI绘画主流风格解析: 找到你的创作方向 tou 在这个五彩斑斓的数字时代,AI绘画如同一股清新的风,悄然吹进了艺术的每一个角落。 它不仅仅是科技与艺术的跨界融合,更是创意与灵感的无限延伸。 如果你正站在艺术的十字路口,迷茫于如何找到属于自己的创作方向,不妨跟…

赞(0)
未经允许不得转载:5bei.cn大模型教程网 » 【小羊肖恩】小羊杯 Round 2 C+K
分享到: 更多 (0)

AI大模型,我们的未来

小欢软考联系我们