【HDOJ】4602 Partition
【题目】http://acm.hdu.edu.cn/showproblem.php?pid=4602
【报告】
直接贴上标程解题报告:(虽然有些纠结,试一下就弄通了。。)
Problem C. Partition
我们可以特判出n<= k的情况。
对于1<= k,我们可以等效为n个点排成一列,并取出其中的连续k个点。下面分两种情况考虑:
第一种情况,被选出的不包含端点,那么有(n–k−1)种情况完成上述操作,剩下未被圈的点之间还有(n–k−2)个位置,可以在每个位置断开,所以共2^(n−k−2) ∗(n−k−1)种方法。
第二种情况,即被选出的包含端点,那么有2种情况,并且剩余共(n–k−1)个位置,所以共2∗2^(n–k−1)种方法。
总计2∗2^(n–k−1) +2^(n–k−2) ∗(n–k−1)=(n–k+3)* 2^(n–k−2)。
注意一下本题需要用long long,还要特殊处理n
【程序】
// Task: HDOJ 4602 Partition
// Designer: Rsky 2013/08/11
#include
#include
#include
#include
using namespace std;
const long long MOD = 1000000007ll;
long long solve(long long n,long long k)
{
if(n
if(n==k) return 1;
long long ans=n-k+3;
long long tmp=2;
k=n-k-2;
if(k==-1) return ans/2;
while(k){
if(k%2){
ans=(ans*tmp)%MOD;
}
tmp=(tmp*tmp)%MOD;
k/=2;
}
return ans;
}
int main()
{
int t;
cin >> t;
while (t--)
{
long long n,k;
cin >> n >> k;
cout << solve(n,k) << endl;
// scanf("%lld%lld",&n,&k);
// printf("%lld\n",solve(n,k));
}
return 0;
}
转载于:https://www.cnblogs.com/klarkxy/p/10017147.html
【HDOJ】4602 Partition相关推荐
- 【HDOJ】4602 Partition_天涯浪子_新浪博客
[题目]http://acm.hdu.edu.cn/showproblem.php?pid=4602 [报告] 直接贴上标程解题报告:(虽然有些纠结,试一下就弄通了..) Problem C. Par ...
- 【leetcode】86. Partition List
题目如下: Given a linked list and a value x, partition it such that all nodes less than x come before no ...
- 【HDOJ】1008 Elevator_天涯浪子_新浪博客
[题目] http://acm.hdu.edu.cn/showproblem.php?pid=1008 [报告] 这是我在HDOJ里看到的最水的题目,至少目前为止. 题目里已经讲得很清楚了,模拟就能过 ...
- 【HDOJ】1022 Train Problem I_天涯浪子_新浪博客
[题目]http://acm.hdu.edu.cn/showproblem.php?pid=1022 [报告] 模拟,直接模拟一个栈的运行就行了. [程序] // Task: 1022 Train P ...
- 【HDOJ】1003 Max Sum_天涯浪子_新浪博客
[题目]http://acm.hdu.edu.cn/showproblem.php?pid=1003 [报告] 既然是子区间加和问题,可以用减法来处理.比如求[5..10]的和,可以直接用[1..10 ...
- 【HDOJ】4768 Flyer_天涯浪子_新浪博客
[题目]http://acm.hdu.edu.cn/showproblem.php?pid=4768 [报告] 题目中已经说了,保证最多出现一个奇数,所以可以用异或的想法.把所有的数异或起来,如果最后 ...
- 【HDOJ】4699 Editor_天涯浪子_新浪博客
[题目] http://acm.hdu.edu.cn/showproblem.php?pid=4699 [报告] 模拟题吧,本身不是很难. 最初的想法是用Splay tree写,然后疯掉了.苏牛说2B ...
- 【HDOJ】4704 Sum_天涯浪子_新浪博客
[题目] http://acm.hdu.edu.cn/showproblem.php?pid=4704 [报告] S(K)显然就是N的K正整数划分数.所以SUM{S(K),1<=K<=N} ...
- 【HDOJ】1015 Safecracker_天涯浪子_新浪博客
[题目]http://acm.hdu.edu.cn/showproblem.php?pid=1015 [报告] 题目写的很长,忽略一系列废话,题意就是求一个方程v - w^2 + x^3 - y^4 ...
最新文章
- 用P3P header解决IE下iframe跨域访问时候session丢失的问题
- python介绍和用途-Python基础介绍(一)
- 使用NSCondition实现多线程同步
- mysql 进阶到高级_mysql的高级进阶(一)
- python画各种统计图的特点_Python 分词并画出词频统计图 | 睿鑫网络
- ftp服务器 vsftpd搭建和配置以及虚拟用户的设置
- 【 2013华为杯编程大赛成都第三组前两题试题及答案】
- matlab求傅里叶级数展开式_连续时间的傅里叶级数
- php对象转换为字符串,php – 类的对象..无法转换为字符串
- 使用innotop监测mysql
- 什么是Web Service
- Oracle命令--表空间管理
- python raw input用法_如何在 python raw_input 中使用 tab 键补全?
- ijkplayer知识点(1)- ijkplayer 调用流程总览思维导图
- 在实战中学习项目管理 --专栏《项目管理实战20讲》学习总结
- 事件管理和问题管理,配置管理和变更管理的区别
- python编写鸡兔同笼程序_Python解决鸡兔同笼问题的方法
- 网络安全行业全领域白皮书
- centos7密码破解
- 数据安全建设中合规管理措施
热门文章
- java参数校验:ValidatorUtils校验框架工具类的使用
- 1t硬盘怎么分区最好_win7系统硬盘怎么分区 win7系统硬盘分区步骤【介绍】
- java中main缺少主体_缺少方法主体,或声明了摘要
- css3 filter url,CSS3 filter(滤镜) 属性
- linux中常用名词解释,科学网—linux中常见名词解释 - 武海丹的博文
- Spring Boot freemarker导出word下载
- python 匹配字符串map lambda函数_Python map amp; reduce 以及lambda匿名函数 - jvisualvm - ITeye博客...
- 有季节效应的非平稳序列分析之因素分解
- python实例 81,82
- python实例 77,78