K-lord #3 (组合数学)
题目描述
如图,设一个圆分成 n 个扇形 S1 ... ,Sn (扇形大小不一样),现用 k 种不同的颜色对这 n 个扇形进行染色 ( n>=3 , k>=3 );
每一个扇形染一种颜色,相邻的 (即有公共边的) 扇形染不同的颜色,试求共有多少种染色方法.

--2005全国高中数学联赛
输入输出格式
输入 :
两个整数 n 和 k (0 <= n,k <= 1000)
输出 :
最多的方案种数, 答案对 19260817 取模
样例数据
input#1:
3 5
output#1
60
Solution
思路有误! 之后会 更新.
这道题感觉上和 HNOI 2008 越狱差不多.
我们令 :
$$a^{n}{m}$$
为 一个长度为n的序列 里面有m种颜色时满足条件的方案数.
同时,我们通过 越狱 这道题,可以知道 其中合法情况即为:
$$ a^{n}{m} =n*(n-1)^{m-1}$$
接下来,我们先假设当前这个圆为一个序列,那么我们满足的答案即为$$ a^{n}_{k} $$
但是我们会发现,如果说单纯当作一个数列来处理的话,我们会有重复的情况:
即首位与末位的颜色相同此时我们作为一个圆的话,是不满足条件的.
那么我们可以换一个角度,我们可以把末位和首位的两个元素看为一个元素.
那么此时,在这种情况下的合法情况即为我们上一次求解的多余的.因为此时的首位和末位正好是相同的.
那么此时我们就可得到答案为:
$$ a{n}_{k}-a{n-1}_{k} $$
于是即可求解.
## 代码 :
```
#include
using namespace std;
long long n,m,p;
long long quick_pow(long long s,long long ks)
{
if(ks==1)return s%p; long long k=s; ks--;
while(ks>0)
{
if(ks%2==1)k=(k*s)%p;
ks/=2;
s=(s*s)%p;
}return k%p;
}
int main()
{
cin>>n>>m;
p=19260817;
int old=(m*quick_pow(m-1,n-1)%p+p)%p;
int duo=(m*quick_pow(m-1,n-2)%p+p)%p;
cout
K-lord #3 (组合数学)的更多相关文章
- 组合数学(全排列)+DFS CSU 1563 Lexicography
题目传送门 /* 题意:求第K个全排列 组合数学:首先,使用next_permutation 函数会超时,思路应该转变, 摘抄网上的解法如下: 假设第一位是a,不论a是什么数,axxxxxxxx一共有 ...
- Codeforces - 1081C - Colorful Bricks - 简单dp - 组合数学
https://codeforces.com/problemset/problem/1081/C 这道题是不会的,我只会考虑 $k=0$ 和 $k=1$ 的情况. $k=0$ 就是全部同色, $k=1 ...
- [ZJOI2011]看电影(MOVIE)
题目描述 到了难得的假期,小白班上组织大家去看电影.但由于假期里看电影的人太多,很难做到让全班看上同一场电影,最后大家在一个偏僻的小胡同里找到了一家电影院.但这家电影院分配座位的方式很特殊,具体方式如 ...
- DP百题练(一)
目录 DP百题练(一) 线性 DP 简述 Arithmetic Progressions [ZJOI2006]物流运输 LG1095 守望者的逃离 LG1103 书本整理 CH5102 移动服务 LG ...
- django模型操作
Django-Model操作数据库(增删改查.连表结构) 一.数据库操作 1.创建model表
- 组合数学or not ---- n选k有重
模板问题: 1. 取物品 (comb.pas/c/cpp) [问题描述] 现在有n个物品(有可能相同),请您编程计算从中取k个有多少种不同的取法.[输入] 输入文件有两行,第一行包含两个整数n,k(2 ...
- ACM学习历程—SNNUOJ 1116 A Simple Problem(递推 && 逆元 && 组合数学 && 快速幂)(2015陕西省大学生程序设计竞赛K题)
Description Assuming a finite – radius “ball” which is on an N dimension is cut with a “knife” of N- ...
- Luogu P1066 2^k进制数 组合数学
分两种情况:$k|n$和$k$不整除$n$ 如果$k|n$,那么长度为$n$的二进制数就能被恰好分成$n/k$个块:所以若某个数长度是$x$个块,由于每个块内能填不同的$2^k-1$个数,那么就有$C ...
- poj 3734 Blocks 快速幂+费马小定理+组合数学
题目链接 题意:有一排砖,可以染红蓝绿黄四种不同的颜色,要求红和绿两种颜色砖的个数都是偶数,问一共有多少种方案,结果对10007取余. 题解:刚看这道题第一感觉是组合数学,正向推了一会还没等推出来队友 ...
- uestc1888 Birthday Party 组合数学,乘法原理
题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=25539#problem/G 题目意思: 有n个人,每个人有一个礼物,每个人能拿 ...
随机推荐
- 你知道现在的.net是什么样的吗,一张图告诉你
Here are these concepts used in an example sentence, for context: Application Framework - “Are you u ...
- Spring Boot: Spring Starter Project
好久没有创建过新项目,楼主发现Spring Boot项目创建失败了!!! 其中有两处错误: [图一不知道是哪里错,果断删掉重输入一次.成功进入下一步 其余步骤也没有错误,然而 最后一步失败了,如图 ...
- HDU 3033 I love sneakers! 我爱运动鞋 (分组背包+01背包,变形)
题意: 有n<=100双鞋子,分别属于一个牌子,共k<=10个牌子.现有m<=10000钱,问每个牌子至少挑1双,能获得的最大价值是多少? 思路: 分组背包的变形,变成了相反的,每组 ...
- HDU 1398 Square Coins 平方硬币 (普通母函数,水)
题意: 有17种硬币,每种的面值为编号的平方,比如 1,4,9,16.....给出一个数字,求组成这个面值有多少种组法? 思路: 用普通母函数解,主要做的就是模拟乘法,因为硬币是无限的,所以每个构造式 ...
- (九)maven之聚合多模块
聚合项目 一些开源项目,都会把自己的源代码公开到github之类的网站上,我们通过下载其代码,在本地执行maven install,可以把代码编译成jar包安装到本地仓库.而一个项目通常有多个模块,比 ...
- 9.18 New Start
好久没上cnblogs,今天提示我说园龄已经2年1个月了.今天就用一个日记的形式开始第一篇博客吧.我以后比较精髓的文章就放在cnblogs,csdn博客也继续会更新,不过也会慢慢提高文章质量. 今天是 ...
- Servlet Context
Servlet Context Container Provider 负责提供ServletContext的实现. A ServletContext is rooted at a known path ...
- python学习(day1)
一.在这次实训之前,虽然听说过很多次python这种语言,但是从来没有真正去学习过,仅仅知道它是一种目前十分流行且功能非常强大的语言,可以方便快捷的实现很多功能.今天的课程带我了解了python,并且 ...
- c语言实验7 文件
part 1 验证性实验 验证性实验1 验证性实验2:已知文本数据文件file1.dat,从中读取数据,找出最高分和最低分学生信息,并输入在屏幕上. 运行结果如下图: #include <std ...
- 数据库_7_SQL基本操作——表操作
SQL基本操作——表操作 建表的过程就是声明列的过程. 表与字段是密不可分的. 一.新增数据表 create table [if not exists] 表名( 字段名字 数据类型, 字段名字 数据类 ...