当前位置: 首页 > news >正文

网站开发对企业的关键24小时学会网站建设 下载

网站开发对企业的关键,24小时学会网站建设 下载,深圳龙华区属于哪个区,好听的广告公司名字题目传送门 引 很有意思的计数题 解法 考虑经过操作后得到的排列的性质 性质1: 设 p r e ( i ) pre(i) pre(i):前i个位置的最大值,则不会出现超过3个的连续位置的 p r e pre pre相同 必要性: 考虑反证,若有超过 3 3 3个的连续…

题目传送门

很有意思的计数题

解法

考虑经过操作后得到的排列的性质


性质1:
p r e ( i ) pre(i) pre(i):前i个位置的最大值,则不会出现超过3个的连续位置的 p r e pre pre相同
必要性
考虑反证,若有超过 3 3 3个的连续位置的 p r e pre pre相同,那么至少有连续有连续三次选择了比第一次选择要小的数,那么至少一个块的长度为 4 4 4,题目中规定块长为 3 3 3,因此不合法
充分性
发现没有充分性,比如: { 2 , 1 , 4 , 3 , 6 , 5 } \{2,1,4,3,6,5\} {2,1,4,3,6,5},手玩模拟一下就会发现有问题
性质2
若排列总长为 3 N 3N 3N, i i i个的连续位置的 p r e pre pre相同的个数为 c n t i cnt_i cnti,那么 c n t 2 ≤ N − c n t 3 cnt_2\le N-cnt_3 cnt2Ncnt3
必要性
对于 c n t 2 cnt_2 cnt2 c n t 3 cnt_3 cnt3来说,他们对应的块内的大小关系是一定的,所以可得 c n t 2 + c n t 3 ≤ N cnt_2+cnt_3\le N cnt2+cnt3N,移项就行了
我们可以化简:
c n t 2 ≤ N − c n t 3 ⇒ 3 c n t 2 ≤ 3 N − 3 c n t 3 ⇒ 3 c n t 2 ≤ ( c n t 1 + 2 c n t 2 + 3 c n t 3 ) − 3 c n t 3 ⇒ 移项得 c n t 2 ≤ c n t 1 \begin{aligned} &cnt_2\le N-cnt_3\\ \Rightarrow&3cnt_2\le 3N-3cnt_3\\ \Rightarrow&3cnt_2\le (cnt_1+2cnt_2+3cnt_3)-3cnt_3\\ \Rightarrow^{移项得}&cnt_2\le cnt_1 \end{aligned} 移项得cnt2Ncnt33cnt23N3cnt33cnt2(cnt1+2cnt2+3cnt3)3cnt3cnt2cnt1

最后我们发现性质1性质2加起来就有了充分性


状态设计:

f i , j : 前 i 个数, c n t 1 − c n t 2 = j 的方案数 f_{i,j}:前i个数,cnt_1-cnt_2=j的方案数 fi,j:i个数,cnt1cnt2=j的方案数
显然 a n s = ∑ k = 0 3 n f 3 n , k ans=\sum_{k=0}^{3n} f_{3n,k} ans=k=03nf3n,k

状态转移:

考虑从小到大放数,对放 1 / 2 / 3 1/2/3 1/2/3个数分别考虑
f i , j → f i + 1 , j + 1 f i , j → f i + 2 , j − 1 ∗ ( i − 1 ) f i , j → f i + 3 , j ∗ ( i − 1 ) ∗ ( i − 2 ) \begin{aligned} &f_{i,j}\to f_{i+1,j+1}\\ &f_{i,j}\to f_{i+2,j-1}*(i-1)\\ &f_{i,j}\to f_{i+3,j}*(i-1)*(i-2) \end{aligned} fi,jfi+1j+1fi,jfi+2,j1(i1)fi,jfi+3j(i1)(i2)
就好了

code:

#include<bits/stdc++.h>
using namespace std;
const int N = 2e3 + 7, M = N * 3;
typedef long long ll;
int n,mod,ans;
int f[M][M<<1];
int ad(int x,int y){ return (1ll*x+1ll*y)%mod; }
void work(int i,int j){f[i+1][j+1+M]=ad(f[i+1][j+1+M],f[i][j+M]);f[i+2][j-1+M]=ad(f[i+2][j-1+M],1ll*f[i][j+M]*(i+1)%mod);f[i+3][j+M]=ad(f[i+3][j+M],1ll*f[i][j+M]*(i+1)%mod*(i+2)%mod);
}
int main() {scanf("%d%d",&n,&mod); n=n*3;f[0][M]=1;for(int i=0;i<n;i++) for(int j=-i;j<=i;j++) work(i,j);for(int i=0;i<=n;i++) ans=ad(ans,f[n][i+M]);printf("%d\n",ans);
}

TXL

http://www.yayakq.cn/news/553184/

相关文章:

  • 一站多通怎么做网站设置个网站要多少钱
  • 男女做羞羞完整版网站徐州铜山区
  • 济南网站建设联系小七西部数据wordpress
  • 做网站徐州erp管理软件开发公司
  • 网站建设公司合同模板下载wordpress资源采集插件
  • 网站开发产品设计公司成都cms建站
  • 网站运行速度慢的原因电商网站设计风格
  • 如何做一元购网站合肥seo结算
  • 影视广告网站可信网站认证有必要吗
  • 四川建设网网网站维护电话用营销的方式介绍自己
  • 做网站都需要买什么软件宝武马钢集团公司招聘网站
  • 国外做评论的网站哪个建站比较好
  • 网页设计建立站点实验报告大型建设网站制作
  • 网站安全检测将wordpress部署
  • 360任意看地图网站青岛住房和城乡建设厅网站
  • 论我国门户网站建设不足赣州人才网暑假工
  • 盐城网站建设效果wordpress表单美化
  • iis5.1建网站广告投放策略
  • wordpress如何上传超过2m整形网站优化
  • 建设银行网站公告企业展厅效果图大全
  • 济南建站公司模板wordpress 不用审核
  • 如何让网站被百度收录网站建设要做哪些前期准备工作
  • 东鹏拼奖网站怎么做成都网页设计工资多少钱
  • 东凤镇做网站公司小程序开发教程全集免费
  • 爱站网做网站吗网站怎样做移动端
  • 没有网站可以做域名解析吗域名交易网站建设
  • iis网站主目录顺德网站建设服务平台
  • 扬州建设网站公司遂宁门户网站建设先进工作单位
  • 一个网站怎么做软件好用吗电子类工程师报考入口
  • 推特登陆 网站建设免费商城系统下载