题面

From ZRQ,很好的计数题

我们可以发现这$len=r-l+1$个数中有一些是必须被查到的,即它们不是一些数的倍数,它们的数目$imp$可以通过一次埃氏筛求出。

在一个排列中可怜查到某个位置时就不用检查了,那这个位置上一定是这个排列中第$imp$和必须被查的数,我们不妨从$imp$到$len$枚举这个这个位置$i$。那么这个位置上的数有$imp$种可能,答案乘上$imp$;前面这$i$个数中要塞上$i-imp$个不必须的数,答案乘上$C_{len-imp}^{i-imp}$;最后是这个点前后各有$(i-1)!$和$(len-i)$种排列,答案也要乘上这两个。最后答案即

$\sum\limits_{i=imp}^{len}imp*C_{len-imp}^{i-imp}*(i-1)!*(len-i)!$

 #include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=1e7+;
const long long mod=1e9+;
long long facs[N],inv[N];
long long l,r,len,imp,ans;
bool mark[N];
long long qpow(long long x,long long k)
{
if(k==) return x;
long long tmp=qpow(x,k/);
return k%?tmp*tmp%mod*x%mod:tmp*tmp%mod;
}
void prework()
{
len=r-l+,facs[]=inv[]=;
for(int i=;i<=len;i++)
facs[i]=facs[i-]*i%mod;
inv[len]=qpow(facs[len],mod-);
for(int i=len-;i;i--)
inv[i]=inv[i+]*(i+)%mod;
for(long long i=l;i<=r;i++)
if(!mark[i])
{
imp++;
for(long long j=*i;j<=r;j+=i)
mark[j]=true;
}
}
long long C(long long n,long long m)
{
return facs[n]*inv[m]%mod*inv[n-m]%mod;
}
int main ()
{
scanf("%lld%lld",&l,&r),prework();
for(int i=imp;i<=len;i++)
ans+=imp*C(len-imp,i-imp)%mod*facs[i-]%mod*facs[len-i]%mod*i%mod,ans%=mod;
printf("%lld",ans);
return ;
}

解题:JXOI 2018 游戏的更多相关文章

  1. [JXOI 2018] 游戏 解题报告 (组合数+埃氏筛)

    interlinkage: https://www.luogu.org/problemnew/show/P4562 description: solution: 注意到$l=1$的时候,$t(p)$就 ...

  2. [JXOI 2018] 守卫 解题报告 (DP)

    interlinkage: https://www.luogu.org/problemnew/show/P4563 description: solution: 注意到对于范围$[l,r]$,$r$这 ...

  3. JXOI 2018 简要题解

    目录 「JXOI2018」游戏 题意 题解 代码 「JXOI2018」守卫 题意 题解 代码 「JXOI2018」排序问题 题意 题解 代码 总结 「JXOI2018」游戏 题意 可怜公司有 \(n\ ...

  4. [HNOI 2018]游戏

    Description 题库链接 有 \(n\) 个房间排成一列,编号为 \(1,2,...,n\) ,相邻的房间之间都有一道门.其中 \(m\) 个门上锁,其余的门都能直接打开.现在已知每把锁的钥匙 ...

  5. 「JXOI 2018」 排序问题

    题目链接 戳我 \(Solution\) \(50\ pts\) 我们来看一下题目,可以很容易的写出来答案的式子: \[\frac{(n+m)!}{a_1!a_2!...a_{tot}!}\] \(a ...

  6. JXOI 2018滚粗记

    --Update5.2 成绩出了,见后文 听说省选VAN写游记是传统,本蒟蒻也来发一篇吧. DAY 0 本来以为省选不在JKFZ举行的结果又是在JKFZ,本校作战感觉终究会是好一些吧,和jyh一起向教 ...

  7. 2000G电脑大型单机游戏合集

    激活码 游戏名称(ctrl+F查找) 下载链接005875 艾迪芬奇的记忆 游戏下载链接http://pan.baidu.com/s/1t2PYRAj546_1AcOB-khJZg554158 暗影: ...

  8. jshzoi

    解题报告——2018级2016第二学期第一周作业   解题报告——2018级2016第二学期第一周作业 D 算24 题目描述 描述 给出4个小于10个正整数,你可以使用加减乘除4种运算以及括号把这4个 ...

  9. 手游折扣app排行榜前10名_2018哪个折扣app最低最好

    2018游戏圈白皮书发布,PC端游的份额继续下降,页游的比例也在下降,但手游的比例持续3年上升.以渠道为阵营,逐渐小的平台和公会被逐渐淘汰.流量集中在少数几个大的平台.但是这样带来的问题是,平台越来越 ...

随机推荐

  1. SMR解析

    SMR描述 SMR(Shingled Magnetic Recording)叠瓦式磁记录盘是一种采用新型磁存储技术的高容量磁盘.SMR盘将盘片上的数据磁道部分重叠,就像屋顶上的瓦片一样,这种技术被称为 ...

  2. 1042 Shuffling Machine

    一.题目描述 Shuffling is a procedure used to randomize a deck of playing cards. Because standard shufflin ...

  3. Google hack语法

    基础语法: 1.语法说明: inurl: 在url地址栏中显示的信息页面 intext: 显示在正文信息中的内容页面 site: 限制显示你某个域名的所有页面 filetype: 搜索文件的后缀或者扩 ...

  4. shutil模块详解

    python常用模块目录 注意:shutil经常遇到路径需要转义一下才能执行,在字符串前面加 r转义  r" " 1.shutil常用方法 import shutil# 删除目录 ...

  5. java中重要的多线程工具类

    前言 之前学多线程的时候没有学习线程的同步工具类(辅助类).ps:当时觉得暂时用不上,认为是挺高深的知识点就没去管了.. 在前几天,朋友发了一篇比较好的Semaphore文章过来,然后在浏览博客的时候 ...

  6. Django_WSGIRequest对象

    WSGIRequest对象 Django在接收到http请求之后,会根据http请求携带的参数以及报文信息创建一个WSGIRequest对象,并且作为视图函数第一个参数传给视图函数.这个参数就是dja ...

  7. mybatis oracle和mysql like模糊查询写法

    oracle:RESOURCE_NAME LIKE '%' || #{resourceName} || '%'mysql:RESOURCE_NAME like concat(concat(" ...

  8. Daily Scrumming* 2015.11.1(Day 13)

    一.今明两天任务表 Member Today’s Task Tomorrow’s Task 江昊 实现API小的更改 实现前后端整合 杨墨犁 实现首页 修改首页 付帅 实现创建编辑登录登出 测试修改 ...

  9. Daily Scrumming 2015.10.21(Day 2)

    今明两天任务表 Member Today’s Task Tomorrow’s Task 江昊 配置ruby与rails环境 配置mysql与数据库用户管理 配置apache2环境 学习rails Ac ...

  10. p4factory下 targets/basic_rout

    p4factory/targets/basic_routing/p4src代码解读 headers.p4 header_type ethernet_t { fields { dstAddr : 48; ...