bzoj 4465: [Jsoi2013]游戏中的学问
4465: [Jsoi2013]游戏中的学问
Time Limit: 10 Sec Memory Limit: 256 MB
Submit: 121 Solved: 59
[Submit][Status][Discuss]
Description
大家应该都见过很多人手拉手围着篝火跳舞的场景吧?一般情况下,大家手
拉手跳舞总是会围成一个大圈,每个人的左手拉着旁边朋友的右手,右手拉着另
一侧朋友的左手。
不过,如果每一个人都随机的拉住两个不同人的手,然后再慢慢散开,事情
就变得有趣多了——此时大家依旧会形成圈,不过却可能会形成多个独立的圈。
当然这里我们依然要求一个人的右手只能拉另一个人的左手,反之亦然。
班里一共有N个同学,由1到N编号。Will想知道,究竟有多少种本质不
同的拉手方案,使得最终大家散开后恰好形成k个圈呢?
给定两种方案,若存在一个人和他的一只手,满足在这两种方案中,拉着这
只手的人的编号不同,则这两种方案本质不同。
Input
输入一行包含三个正整数N,k和P.
3<=3k<=N<=3000,10^4<=p<=2×10^9
Output
输出文件的包含一行一个整数,表示本质不同的方案数对p的余数。保证p
一定是一个质数。
Sample Input
Sample Output
HINT
Source
#include<bits/stdc++.h>
#define ll long long
#define maxn 1005
using namespace std;
int f[maxn*3][maxn],n,k,P;
int jc[maxn*3],ni[maxn*3]; inline int add(int x,int y){
x+=y;
return x>=P?x-P:x;
} inline void dp(const int ha){
f[0][0]=1;
for(int i=3;i<=n;i++){
int tp=min(i,k);
for(int j=1;j<=tp;j++) f[i][j]=add(f[i-3][j-1]*(ll)(i-1)%ha*(ll)(i-2)%ha,f[i-1][j]*(ll)(i-1)%ha);
}
} int main(){
scanf("%d%d%d",&n,&k,&P);
dp(P);
printf("%d\n",f[n][k]);
return 0;
}
bzoj 4465: [Jsoi2013]游戏中的学问的更多相关文章
- 【题解】4465 [Jsoi2013]游戏中的学问
原题传送门 线性dp推一推就推出方程 设\(f[i][j]\)表示有\(j\)个人,分成\(i\)组,一共有多少分发 边界为\(f[0][0]=1\),珂以得出方程为\(f[i][j]=(j-1)*( ...
- bzoj4465: [Jsoi2013]游戏中的学问
DP 一个人要么加入一个圈,要么三个人开一圈 #include<cstdio> #include<iostream> #include<cstring> #incl ...
- 「JSOI2013」游戏中的学问
「JSOI2013」游戏中的学问 传送门 考虑 \(\text{DP}\) 设 \(dp_{i, j}\) 表示将前 \(i\) 个人分成 \(j\) 个集合,并且第 \(i\) 个人在第 \(j\) ...
- bzoj 4465 游戏中的学问
Written with StackEdit. Description 大家应该都见过很多人手拉手围着篝火跳舞的场景吧?一般情况下,大家手 拉手跳舞总是会围成一个大圈,每个人的左手拉着旁边朋友的右手, ...
- bzoj 4465 游戏中的学问(game)
题目描述 输入 输出 样例输入 3 1 1000000009 样例输出 2 提示 solution 令f[i][j]表示i个人围成j个圈的方案数 啥意思呢 可以把一个人塞进前面的圈里(i-1种塞法) ...
- bzoj 3875 骑士游戏 - spfa - 动态规划
Description [故事背景] 长期的宅男生活中,JYY又挖掘出了一款RPG游戏.在这个游戏中JYY会 扮演一个英勇的骑士,用他手中的长剑去杀死入侵村庄的怪兽. [问题描述] 在这个游戏中,J ...
- 地图四叉树一般用在GIS中,在游戏寻路中2D游戏中一般用2维数组就够了
地图四叉树一般用在GIS中,在游戏寻路中2D游戏中一般用2维数组就够了 四叉树对于区域查询,效率比较高. 原理图
- FPS中受伤UI在VR游戏中的实现思路
FPS中受伤UI在VR游戏中的实现思路 希望实现的效果 这几天一直在尝试各种解决方案,现在算是不完美的解决啦,记录一下心路历程,思路有了算法都比较简单. V_1 玩家胶囊体指向的方向作为正方向,计算出 ...
- 游戏中的人工智能——初探AI
一.游戏中的人工智能 让游戏具有挑战性: 让游戏好玩的关键因素是为之找到合适的难度等级: 人工智能在游戏中的作用是通过提供富有挑战性的竞争对象来让游戏更好玩,而在游戏中行动逼真的非玩家角色(NPC), ...
随机推荐
- windows控制台主题美化工具-colortool
最近在win10上装了 wsl 系统,发现界面主题太挫,文件夹颜色很不清晰 . 特此在网上搜索了一下,发现了 colortool 这个工具 这是微软官方提供的用于控制台配色的程序 发布版本地址:htt ...
- 手把手教你启用RemoteFX以及Hyper-V GPU卸载
[TechTarget中国原创] 微软的RemoteFX特性可以帮助改善虚拟机图形密集型应用工作负载的性能. 服务器虚拟化已经成熟到大多数工作负载都能够在虚拟机内运行的程度.毫无疑问,与其他工作负载相 ...
- 浅谈我所见的CSS组织风格
1.简单组织(见习级) projectName ├─css | └style.css 优点:简单,单一文件,适合一些简单项目. 缺点:过度集中,没有模块化,无法适应大型项目. 2.公共组织(见习级) ...
- dotfiles项目
1.dotfile介绍 在linux中的各种软件配置文件大多是以.开头,以rc结尾,在第一次使用某一个软件比如vim的时候,通常会花大量时间配置,将所有的配置文件放到同一个目录下,方便在多台机器上同步 ...
- Python操作MySQL+Redis+MongoDB
1-1 python操作三大主流数据库导学篇 1-2 数据库简介 1-3 MySQL简介 2-1 MySQL安装及配置 2-2 MySQL图形化管理工具 2-3 SQL语法基础-创建并使用数据库 2- ...
- Python-S9-Day116——Flask框架相关
01 内容回顾 02 Flask框架:路由和视图(一) 03 Flask框架:路由和视图(二) 04 Flask框架:路由和视图(三) 05 Flask框架:路由和视图(四) 06 Flask框架:s ...
- Wordpress 自定义文章类型添加 Categoried、Tags
默认情况下 ,自定义文章类型没有分类和标签属性,需要通过 register_taxonomy_for_object_type 手动注册文章分类和标签,可以通过在 functions.php 或插件中添 ...
- quagga源码学习--BGP协议对等体连接建立的状态机
创建完bgp peer之后,就要bgp start了,不然费那么大劲创建出来不做事情就销毁了,就很尴尬了. 那么对等体一旦start起来,就会进入各自的状态,在不同的状态下处理各自的事件消息. 下面列 ...
- JAVA使用JDBC连接MySQL数据库 一
public class JDBCTest { public static void main(String[] args){ String driver = "com.mysql.jdbc ...
- BZOJ-2618 [CQOI2006]凸多边形
半平面交模版题.. #include <cstdlib> #include <cstdio> #include <cmath> #include <cstri ...