[XJB出题] [组合数学] 雪花项链(snowflakes)
来源:互联网 发布:java位运算实现加法 编辑:程序博客网 时间:2024/05/30 23:02
//HeRaNO又开新坑了……
Description 题目描述
HSD桑一直想送给FZ酱一个挂饰,可是总也找不到合适的。这一天,久违的雪降落在校园里,HSD桑灵光乍现,不如收集起这些雪花做一个。
于是,HSD桑在校园收集了n 片雪花,准备制作雪花挂饰。可是有一个问题,因为HSD桑的思路是流动的,他没想好这个挂饰有多少片雪花。
可是他因为着急制作,所以不管那么多了,直接开始。准备好雪花们,却发现没有合适的绳子把它们穿起来……
好(shi)心(duo)的HeRaNO发现了闹心ing的HSD桑,于是帮他找到了一些绳子,可是因为他好(shi)心(duo),他向HSD桑提了T 个问题,询问HSD桑利用这些雪花可以做成多少种不同的雪花挂饰。
HSD桑快烦死HeRaNO了,于是决定不回答。可是HeRaNO是绳子的提供者,如果不回答HeRaNO的问题,HeRaNO就会收走绳子……
因为HSD桑的思路是流动的,他每一次制作时都会在一个区间里选择雪花挂饰用的雪花数,我们把区间记为[l,r] ,为闭区间。所以HSD桑可以做成的挂饰数为用[l,r] 内所有雪花数情况的和。因为HSD桑获得的绳子不是特别多,绳子用多了也麻烦,于是他想用最少的绳子将他想选择的雪花连接上。
因此,HSD桑向你发出了求助,请帮助HSD桑解决他的问题。
Input 输入
第
1 行为三个正整数n,T,R 。n,T 意义如题。请在R 的剩余系下完成计算;
第2 ~T+1 行,每行两个整数l,r ,意义如题。
Output 输出
输出
T 行,对于第i 行表示对于第i 个问题的答案。
Sample Input 样例输入
4 1 1000000007
3 4
Sample Output 样例输出
28
Explanation 样例解释
HSD桑可以用
4 片雪花中的3 片做成12 种不同的雪花挂饰,可以用4 片雪花中的4 片做成16 种不同的雪花挂饰;
因此用[3,4] 片雪花可做成12+16=28 种不同的雪花挂饰。
Limits 限制
共
20 组测试数据
其中:
50% 的数据:R=109+7 ;
其余50% 的数据:R=998244353 。
10% 的数据:n≤10 ;
50% 的数据:n≤106,T=1 ;
对于这50% 的数据,有50% 的数据l=r ;
100% 的数据:n≤106,T≤106,0≤l≤r≤n 。
Time Limit :2s & Memory Limit :512MB
Hints 提示
我们都知道,世界上几乎没有完全相同的两片雪花,所以本题中每片雪花可看做两两不同。
两种方案相同,当且仅当所选雪花完全相同且每一片雪花连接的雪花也完全相同。
请原谅我语言表达能力不足……
本人第二次出这样的组合数学题…….希望大家轻喷……
Solution 题解
首先,
如何用最少的绳子将
首先,我们从
然后,我们把这
因此,对于选择
因为
所以对于
对于求
对于求
因此,整个算法时间复杂度为
当
得出
Source 来源
五三数学选修2-3 P17第15题……
(数学课上闲的没事瞎想……)
Code
- [XJB出题] [组合数学] 雪花项链(snowflakes)
- [XJB出题] [分块] 篮球架
- 组合数学中的项链计数
- [XJB出题] [莫队] [线段树] 聚会(reunion)
- lightoj 1028 xjb组合
- Snowflake Snow Snowflakes寻找相似雪花
- uva 11572 唯一的雪花 Unique Snowflakes
- UVA11572:Unique Snowflakes(唯一的雪花)
- Snowflake Snow Snowflakes 相同的雪花
- uva 11572 Unique Snowflakes (唯一的雪花)
- [XJB出题] [线段树] [差分数组] [模拟] 掀桌子(reverse)
- nyoj 130相同的雪花 || poj 3349 Snowflake Snow Snowflakes
- [UVa 11572] 唯一的雪花(Unique Snowflakes)
- 【数学】2011集训队出题 跳跳棋
- 傻逼服务器 调和序数 xjb暴力 数学
- 出题
- 组合数学
- 组合数学
- 五子棋online---React.js+Socket.io+Node.js
- SAP接口编程之综合实例(一):资产负债表方案
- Goroutine设计原理
- 矩阵游戏_bzoj1059_网络流
- POJ 2251 Dungeon Master(三维bfs)
- [XJB出题] [组合数学] 雪花项链(snowflakes)
- H5第一天 第一个页面,编译器初识
- 54. Spiral Matrix
- 2016书单总结--spring-boot-in-action学习笔记--源码简析
- 【LeetCode】 122. Best Time to Buy and Sell Stock II
- Hello,World!
- Android实现录屏直播(一)ScreenRecorder的简单分析
- PHP 关闭浏览器程序继续运行的函数
- (二)数组和链表