洛谷P4562 [JXOI2018]游戏 数论
正解:数论
解题报告:
首先考虑怎么样的数可能出现在$t(i)$那个位置上?显然是$[l,r]$中所有无法被表示出来的数(就约数不在$[l,r]$内的数嘛$QwQ$
所以可以先把这些数筛出来
具体怎么筛的话,最原始的方法就埃氏筛?
然后显然可以线性筛,但我$jio$得大概快不到哪儿去而且麻烦一些懒得打了所以直接用的埃氏筛
然后现在就筛出来,有$sum$个满足条件的数了,考虑怎么算贡献?(先注明下,,,可能有些±1的细节下面都直接略过了$QAQ$
就先枚最后一个这样的数出现的位置$x$(也就是$t(i)$的取值
首先它自己会有$x$的贡献
然后在它后面可以从$n-sum$个数中选出$n-x$个数,而且这些数可以随便排列,所以有$C(n-x,n-sum)\cdot (n-x)!$
然后在它之前的数可以随便排列,所以有$(x-1)!$
最后这个数是从$sum$个数中选出来的所以还有$C(sum,1)$
综上,可以列出式子,$ans=\sum i\cdot sum\cdot (i-1)!\cdot (n-x)!\cdot C(n-x,n-sum)$
然后这题好像还有优化,,,但是我懒得落实了(bushi
反正一时半会儿应该不会再写优化了,,,如果很久很久之后考古出了这篇博客也许会填下QAQ?(四舍五入就是咕了:D
#include<bits/stdc++.h>
using namespace std;
#define il inline
#define ll long long
#define gc getchar()
#define ri register int
#define rc register char
#define rb register bool
#define rp(i,x,y) for(ri i=x;i<=y;++i)
#define my(i,x,y) for(ri i=x;i>=y;--i) const int mod=,N=+;
int l,r,sum,fac[N],ifac[N];
bool vis[N]; il int read()
{
rc ch=gc;ri x=;rb y=;
while(ch!='-' && (ch>'' || ch<''))ch=gc;
if(ch=='-')ch=gc,y=;
while(ch>='' && ch<='')x=(x<<)+(x<<)+(ch^''),ch=gc;
return y?x:-x;
}
il int power(ri x,ri y){int ret=;while(y){if(y&)ret=1ll*ret*x%mod;x=1ll*x*x%mod;y>>=;}return ret;}
il void pre(ri n)
{
fac[]=;rp(i,,n)fac[i]=1ll*fac[i-]*i%mod;
ifac[n]=power(fac[n],mod-);my(i,n-,)ifac[i]=1ll*ifac[i+]*(i+)%mod;
}
inline int C(ri n,ri m){return 1ll*fac[n]*ifac[m]%mod*ifac[n-m]%mod;} int main()
{
// freopen("4562.in","r",stdin);//freopen("4562.out","w",stdout);
l=read();r=read();pre(r);
rp(i,l,r)if(!vis[i]){++sum;for(ri j=i;j<=r;j+=i)vis[j]=;}
ri as=,n=r-l+;
rp(i,sum,n)as=(as+1ll*i*sum%mod*C(n-sum,n-i)%mod*fac[n-i]%mod*fac[i-]%mod)%mod;
printf("%d\n",as);
return ;
}
最后放下代码鸭!
洛谷P4562 [JXOI2018]游戏 数论的更多相关文章
- 洛谷P4562 [JXOI2018]游戏(组合数学)
题意 题目链接 Sol 这个题就比较休闲了. \(t(p)\)显然等于最后一个没有约数的数的位置,那么我们可以去枚举一下. 设没有约数的数的个数有\(cnt\)个 因此总的方案为\(\sum_{i=c ...
- 洛谷 P2197 nim游戏
洛谷 P2197 nim游戏 题目描述 甲,乙两个人玩Nim取石子游戏. nim游戏的规则是这样的:地上有n堆石子(每堆石子数量小于10000),每人每次可从任意一堆石子里取出任意多枚石子扔掉,可以取 ...
- 洛谷 P1965 转圈游戏
洛谷 P1965 转圈游戏 传送门 思路 每一轮第 0 号位置上的小伙伴顺时针走到第 m 号位置,第 1 号位置小伙伴走到第 m+1 号位置,--,依此类推,第n − m号位置上的小伙伴走到第 0 号 ...
- 洛谷 P1000 超级玛丽游戏
P1000 超级玛丽游戏 题目背景 本题是洛谷的试机题目,可以帮助了解洛谷的使用. 建议完成本题目后继续尝试P1001.P1008. 题目描述 超级玛丽是一个非常经典的游戏.请你用字符画的形式输出超级 ...
- 【流水调度问题】【邻项交换对比】【Johnson法则】洛谷P1080国王游戏/P1248加工生产调度/P2123皇后游戏/P1541爬山
前提说明,因为我比较菜,关于理论性的证明大部分是搬来其他大佬的,相应地方有注明. 我自己写的部分换颜色来便于区分. 邻项交换对比是求一定条件下的最优排序的思想(个人理解).这部分最近做了一些题,就一起 ...
- $loj10156/$洛谷$2016$ 战略游戏 树形$DP$
洛谷loj Desription Bob 喜欢玩电脑游戏,特别是战略游戏.但是他经常无法找到快速玩过游戏的方法.现在他有个问题. 现在他有座古城堡,古城堡的路形成一棵树.他要在这棵树的节点上放置最少数 ...
- 洛谷P1000 超级玛丽游戏(洛谷新手村1-1-1)
题目背景 本题是洛谷的试机题目,可以帮助了解洛谷的使用. 建议完成本题目后继续尝试P1001.P1008. 题目描述 超级玛丽是一个非常经典的游戏.请你用字符画的形式输出超级玛丽中的一个场景. *** ...
- 洛谷P1080 国王游戏 python解法 - 高精 贪心 排序
洛谷的题目实在是裹脚布 还编的像童话 这题要 "使得获得奖赏最多的大臣,所获奖赏尽可能的少." 看了半天都觉得不像人话 总算理解后 简单说题目的意思就是 根据既定的运算规则 如何排 ...
- 洛谷1640 bzoj1854游戏 匈牙利就是又短又快
bzoj炸了,靠离线版题目做了两道(过过样例什么的还是轻松的)但是交不了,正巧洛谷有个"大牛分站",就转回洛谷做题了 水题先行,一道傻逼匈牙利 其实本来的思路是搜索然后发现写出来类 ...
随机推荐
- Java知多少(42)泛型通配符和类型参数的范围
本节先讲解如何限制类型参数的范围,再讲解通配符(?). 类型参数的范围 在泛型中,如果不对类型参数加以限制,它就可以接受任意的数据类型,只要它是被定义过的.但是,很多时候我们只需要一部分数据类型就够了 ...
- 缓存Memcached 与 Redis 相同点差异点分析
memcach简介 Memcache时一个内存对象缓存系统,用于加速动态web应用程序,减轻数据库负载.它可以应对任意多个连接,使用非阻塞的网络I/O,工作机制:在内存中开辟一块空间,然后建立一个ha ...
- printf打印输出null问题的跟踪
最近在工作中,遇到一处 printf输出有null的情况,在此记录一下,问题分析的过程. 测试代码很简单,本机为64位操作系统: #include <stdio.h> #include & ...
- python通过input()函数输入的内容是什么类型
说明: 通过input()函数,可以从标准输入读取内容,那么读到的内容是什么类型呢. 通过type()函数可以进行判断,另外,通过input()函数的官方解释,从标准输入读取一个字符串.所以,应该是字 ...
- A股ROE连续3年超过15%的股票排名
R连续3年,12个季度的滚动ROE,都超过15%的股票排名,个股滚动ROE = 最近4个季度的归母净利润 / ((期初归母净资产 + 期末归母净资产) / 2). 查看更多ROE连续3年超过15%的股 ...
- 设计模式-结构型模式,python桥接模式
桥接模式 桥接(Bridge)是用于把抽象化与实现化解耦,使得二者可以独立变化.这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦. 这种模式涉及到一个作为桥接 ...
- VS2008下安装与配置DirectShow SDK 9.0 及 DirectShow AMCap改装的问题
一.安装DirectShow. 我装的是DirectShow SDK 9.0b.安装程序名为DXSDK_Jun10.exe. 下载地址:https://pan.baidu.com/s/1kURma3t ...
- DAX Editor VSIX project
DAX Editor is a Visual Studio extension that implements a language service for DAX language for SQL ...
- web站点健康检测和告警小脚本
#!/bin/sh web01="http://172.18.52.xx:8080/web/api/getTime" web02="http://172.18.52.xx ...
- 使用Eclipse的坑
1.运行Eclipse时突然出现找不到或者无法加载主类,这个问题不解决,下面的学习就无从做起,查了网上的一些资料,无法解决,所以还是有点烦人.如果在解决问题的过程中能够学到点什么,也是很值得的,但是就 ...