poj2154 & 2409 (polya计数)

zynq 7010/020 AMP双核通信-Vitis2023/2024 在platform cpu1设置中添加;注意value中使用空格分开程序思路:比较简单。 阅读详情

poj2154:用n种颜色涂环形的n个珠子,重复只考虑旋转,不考虑翻转,问能构成多少种?(n<=1e9)

自己写的有点丑就用别人推理的截图了

#include<cstdio>
#include<cstring>
using namespace std;

const int MAXN=1000010;
int prime[MAXN+5];
void getPrime()
{
    memset(prime,0,sizeof(prime));
    for(int i=2;i<=MAXN;i++)
    {
        if(!prime[i])prime[++prime[0]]=i;
        for(int j=1;j<=prime[0]&&prime[j]<=MAXN/i;j++)
        {
            prime[prime[j]*i]=1;
            if(i%prime[j]==0) break;
        }
    }
}
int n,m,mod;
int eular(int x)
{
    int r=x;
    for(int i=1;prime[i]*prime[i]<=x;i++)
    {
        if(x%prime[i]==0)
        {
            r=r-r/prime[i];
            while(x%prime[i]==0)
                x/=prime[i];
        }
    }
    if(x>1)r=r-r/x;
    return r%mod;
}

int qmod(int x,int p)
{
    int ans=1;
    x%=mod;
    while(p)
    {
        if(p&1) ans=ans*x%mod;
        x=x*x%mod;
        p>>=1;
    }
    return ans;
}
int t;
int main()
{
    scanf("%d",&t);
    getPrime();
    while(t--)
    {
        scanf("%d%d",&n,&mod);
        int ans=0;
        for(int k=1;k*k<=n;k++)
        if(n%k==0)
        {
            ans+=eular(n/k)*qmod(n,k-1)%mod;
            if(ans>=mod) ans-=mod;
            if(k*k!=n)
            {
                ans+=eular(k)*qmod(n,n/k-1)%mod;
                if(ans>=mod) ans-=mod;
            }
        }
        printf("%d\n",ans);
    }
    return 0;
}

poj2409:如果用m种颜色涂环形的n个珠子,重复既考虑旋转,也考虑翻转,问能构成多少种?(n,m都很小)

#include <cstdio>
#include <cmath>
#include <algorithm>
using namespace std;
int m,n;
#define ll long long
int main()
{
    while(scanf("%d%d",&m,&n)&& m+n!=0)
    {
        ll ans=0;
        for(int i=0;i<n;i++)
        ans+=pow(m,__gcd(n,i));
        if(n&1)
            ans+=n*pow(m,(n+1)/2);
        else
        {
            ans+=(n/2)*pow(m,n/2);
            ans+=(n/2)*pow(m,(n+2)/2);
        }
        ans/=2*n;
        printf("%lld\n",ans);
    }
    return 0;
}

 

SpringAi 通过大模型来实现调用自己的Api 摘要 本文介绍了如何利用Spring AI的Tools机制扩展大模型能力,实现业务系统集成。通过@Tool和@ToolParam注解定义工具方法,将订单查询和关闭功能暴露给大模型调用。关键实现包括:1)使用详细描述标注工具方法和参数;2)在ChatClient中注册工具服务;3)集成对话记忆保持上下文。该方法使AI具备操作业务系统的能力,形成&quot;认知-决策-执行&quot;闭环,大幅提升了模型在实际业务场景中的应用价值。 阅读详情

相关推荐

Unity Shader学习笔记/Urp/水墨风效果

Unity Shader学习

qq_63133691的博客 2118

解题笔记(29)——珠子问题

问题描述:一串首尾相连的珠子(n个),有N种颜色(N       思路:可以利用一种计数的方法。定义两个指针p1和p2,主要有三个步骤:      (1)p1向前移动,如果p1所指的珠子颜色编号为 i ,则增加 i 的出现次数。当出现的颜色种数为N时,p1停止

wuzhekai的专栏 9691

在 Linux/Debian/Ubuntu 上使用 Brasero 刻录光盘

在 Ubuntu 系统中,Brasero 是一个非常方便的光盘刻录工具。无论是创建数据光盘、音频光盘还是刻录光盘镜像文件,Brasero 都能轻松胜任。本文将介绍如何在 Ubuntu 上安装和使用 Brasero 进行光盘刻录。

I AM COMING BACK... 3550

poj2409 & 2154 polya计数+欧拉函数优化

这两个题都是项链珠子的染色问题 也是polya定理的最基本和最经典的应用之一 题目大意: 用m种颜色染n个珠子构成的项链,问最终形成的等价类有多少种 项链是一个环。通过旋转或者镜像对称都可以得到置换 旋转可以旋转 i=[1,n]次。。画图可以看出循环节有gcd(n,i)个 镜像对称的置换画个图也是很容易找的 然后通过polya定理就可以容易的求出等价类的种数了 2409就是这样一个裸...

weixin_30551963的博客 178

移动机器人底盘-四轮差速模型(四轮独立)

对于底盘的前轮和后轮来说,其速度是同步的,那么在理想条件下,可以将底盘运动视为以ICR为圆心做圆周运动,对于四个轮子来说,圆周运动的角速度是一致的,圆周运动圆心ICR始终位于底盘几何中心COG的y轴延长线上,ICR与COG之间的距离。有关,整个底盘的速度位于速度瞬心COM处,用。四轮差速底盘设定左轮、右轮得速度分别为。圆周运动的角速度公式如式1所示。受约束,约束与圆周运动的角速度。合成,设四个轮子的速度分别为。,设左轮和右轮之间的轴距为。为圆周运动角速度,线速度为。,其均由预设目标速度。

Moresweet 猫甜 1万+

Tessent ATPG进阶:解锁多种Fault Model的工程实践与选型指南

本文深入探讨Tessent ATPG中多种Fault Model的工程实践与选型策略,涵盖Stuck-at、Transition、Bridge等核心模型的应用场景与配置技巧。通过实际案例解析,展示如何组合不同Fault Model提升芯片测试覆盖率,特别针对汽车电子、超低功耗芯片等复杂场景提供专业解决方案。

weixin_30219613的博客 199

Polya计数法总结 POJ2409&&2154&&SGU282

Polya计数法原理可以看符文杰的集训队论文>、题目可以看陈瑜希的论文> 解题三步骤: 1、确定置换群(注意考虑周全) 2、计算每个置换下的循环节数目 3、带入公式 有时候置换数目太多,而许多置换具有相同的循环节数目,可以统一起来考虑,进行优化。 下面是三道例题,难度递增,第一题是裸题,后面两题都用到了上面说的优化。 1、POJ2409 #include #include #inc

Matrix 1163

【问题解决】本地 Llama / Qwen 运行报错:transformers 版本不兼容、依赖冲突解决

Flask是一个轻量级的Web框架,设计上非常简单和易于扩展。它并不强制使用任何特定的项目结构或工具,这使得开发者能够根据自己的需求自由地设计应用。Flask的灵活性使它成为了许多小型项目和原型开发的理想选择。FastAPI是一个现代的Web框架,基于Python 3.7+,专为构建API而设计。FastAPI的特点是高性能、支持异步操作,并且内置了许多现代Web应用所需的功能,如数据验证和自动生成API文档等。从性能角度看,FastAPI在高并发场景下具有明显优势,特别是在I/O密集型的应用中。

博客 801

poj2409 & poj2154 & hdu4633(Polya定理)

Let it Bead Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 6242   Accepted: 4187 Description "Let it Bead" company is located upstairs at 700 Cannery Row

yypurpose的博客 430

35、使用 Geo 创建 GitLab 的分布式只读副本

本文详细介绍了如何使用GitLab Geo功能创建分布式只读副本,涵盖数据库主从配置、SSH密钥查找方式更改、通过Web UI添加从节点、激活哈希存储及状态检查等关键步骤。同时提供了常见问题解答和配置流程图,帮助用户快速部署并维护Geo集群,实现跨地域的高效数据同步与高可用架构。

chair的专栏 81

修改legged_gym地形后仍然是平地,如何解决?

🏆 本文收录于《全栈Bug调优(实战版)》专栏,致力于分享我在项目实战过程中遇到的各类Bug及其原因,并提供切实有效的解决方案。无论你是初学者还是经验丰富的开发者,本文将为你指引出一条更高效的Bug修复之路,助你早日登顶,迈向财富自由的梦想🚀!同时,欢迎大家关注、收藏、订阅本专栏,更多精彩内容正在持续更新中。让我们一起进步,Up!Up!Up!    备注: 部分问题/难题源自互联网,经过精心筛选和整理,结合数位十多年大厂实战经验资深大佬经验总结所得,数条可行方案供所需之人参考。

**My Coding Family** 1564

poj 2154:Color【polya计数,Euler函数】

http://poj.org/problem?id=2154 poj 2154:Colorhttp://blog.sina.com.cn/s/blog_6f71bea30100opru.html 大意:n种颜色的珠子可组成多少种长度为n的项链?这题和2409 类似,不同之处在于,只考虑旋转,不考虑翻转;因此相对前面两个题目应该说是更简单,但一看数据范围,就不是这么回事了,2409完全...

a48634331的博客 134

使用 Python 爬取 Wikipedia 数据:抓取百科条目及其内容

维基百科的 API 提供了一些方便的接口,通过这些接口,我们可以轻松获取到维基百科的条目、类别、图片和其他相关信息。维基百科的 API 主要是基于 HTTP 请求的,通过向特定的 URL 发送 GET 请求来获取信息。:获取指定条目的内容。在本博客中,我们介绍了如何使用 Python 爬取维基百科的条目数据。通过使用 Wikipedia API 和网页抓取技术,我们能够高效地获取条目内容,并将其存储和分析。希望本篇教程能帮助你深入理解如何抓取和处理维基百科的数据。

2201_76125261的博客 476

poj 2154 Color (组合数学 polya计数法)

大致题意:给你n种颜色的珠子,和一个长度也是n((n&lt;=1000000000)的项链,用这n种珠子串成这个项链,项链可以旋转,经过旋转所得的项链视为同一种项链,现在告诉你颜色总数和项链的长度n,由于答案可能超出int范围,题目还会给你一个取模的数p,求共能组成几条不同的项链(取模后)。 Time Limit: 2000MS  Memory Limit: 65536K 样例...

217

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

POJ 2409 Let it Bead & POJ 2154 Color (Polya定理)

Polya定理是组合数学中一个重要的计数定理。设G为n个对象的一个置换群,用m种颜色对这n个对象染色,不同的方案数为: ,其中c(gi)为第i个置换的循环节数。 poj2409 有m种颜色且数量不限的珠子,将这些珠子做成长度为n的项链,问能做成多少种不同长度的项链。规定当且仅当两条项链通过旋转或者翻转后能重合在一起且对应珠子的颜色相同,则说两条项链相同。 旋转的情况,将项链顺时针旋转i格之后...

NPU_SXY的博客 290

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

[Note] Burnsde 引理 & Polya 定理

是很好的总结了。因为总是会找不到所以贴一下( polya定理小结   polya定理是组合数学中比较难的一部分。首先需要对置换群、集合论有一定的了解,这样有助于理解burnside引理的证明。其次,polya定理只是对于在环上存在旋转、反射等等价的变换的一种计数方法,实际的题目中很多需要其他的知识来进行辅助。   环上的计数主要就是处理置换 -&gt; 着色这种情况。很关键的一点是同一循环内...

最后一次修改 421

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

polya定理

polya定理是组合数学中比较难的一部分。首先需要对置换群、集合论有一定的了解,这样有助于理解burnside引理的证明。其次,polya定理只 是对于在环上存在旋转、反射等等价的变换的一种计数方法,实际的题目中很多需要其他的知识来进行辅助。 环上的计数主要就是处理置换 -> 着色这种情况。很关键的一点是同一循环内着色相同。因此很多题目就在置换和着色上下文章。 最最简单的polya定理题目是置

556

polya 定理小结 (转)

转自:http://hi.baidu.com/lewutian/item/dc515ff9016a4617ff358220 polya 定理小结 (转) polya定理是组合数学中比较难的一部分。首先需要对置换群、集合论有一定的了解,这样有助于理解burnside引理的证明。其次,polya定理只 是对于在环上存在旋转、反射等等价的变换的一种计数方法,实际的题目中很多需要其他的知识

态度决定高度 1066

群论及Polya计数定理题目入门

.

xiaoyimi的博客 4266

polya定理,求着色数,利用置换群

  polya定理在很久以前的ICPC题目中就已经出现过,不过那个时候大家对于置换群都了解不多,因此polya定理算是很生僻的一个东西。然而人类总是飞速的进步,现在互联网上铺天盖地的题解使得polya定理走出深闺,逐渐被广大acmer所熟知。但是魔高一尺道高一丈,出题人也逐渐把polya定理的题出得越来越难做,越来越不好想,今天我就来总结一下这些颇有难度的polya定理题目(包括Burnside引...

weixin_42165786的博客 1293

置换群Polya定理

Polya定理通常用来解决置换群中的等价类

ZT在努力 1165

Burnside引理和polay计数学习小记

跟数学有关的东西总是非常神奇。 Burnside引理和polay计数学习小记 - Only the Strong Survive - 博客频道 - youkuaiyun.com Polya定理_百度文库 Chap4-2Burnside引理、Polya定理_百度文库 以下内容转自 polya 定理小结 (转)_jiazheng2222的空间_百度空间 polya定理是组合数学中比较难的一部分。首先需

_rabbit的专栏 994

POJ2154 Color

DescriptionBeads of N colors are connected together into a circular necklace of N beads (N&amp;lt;=1000000000). Your job is to calculate how many different kinds of the necklace can be produced. You shoul...

蒟蒻的博客 309

polya|burnside定理的一些总结

基于正方形的置换:(hdu 1812) 旋转只有 0,90,180,270度三种旋法。 旋0度,则置换的轮换数为n*n 旋90度,n为偶数时,则置换的轮换数为n*n/4,n为奇数,则置换的轮换数为(n*n-1)/4+1 旋180度,n为偶数时,则置换的轮换数为n*n/2,n为奇数,则置换的轮换数为(n*n-1)/2+1 旋270度,n为偶数时,则置换的轮换数为n*n/4,n为奇数,则置换

ACM之梦 1556

poj 2154 Color ----polya计数

题意:此题跟POJ 2409类似,只不过只考虑旋转,不考虑翻转; 但是需要用到快速幂和欧拉函数的优化求解。 /* 旋转:顺时针旋转i格的置换中,循环的个数为gcd(i,n), 每个循环的长度为n/gcd(i,n)。 如果枚举旋转的格数i,复杂度显然较高。有没有好方法呢? 可以不枚举i,反过来枚举L。 由于L|N,枚举了L,再计算有多少个i使得0 即gcd(i,n)=n/L。 不妨

imut zcy,I promise You. 652

polya定理再小结

转自:http://www.cppblog.com/sdfond/archive/2010/02/06/107403.aspx 话说ICPC的题目是越来越难,因为经典的算法大家都知道了,因此出题的方向只能是要么把模型隐藏的很深,要么就把一系列算法知识综合起来考察,这个时候分析问题的能力和灵活运用知识的能力就显得尤为重要。   polya定理在很久以前的ICPC题目中就已经出现过,不过那个时候大

755
上一篇: HDU-5527 An Easy Physics Problem(平面上点到圆碰撞反弹)
下一篇: HDU 3089 Josephus again(约瑟夫环,加速优化)
GoLakerswxy
博客等级 码龄9年 41粉丝 158原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值