Topcoder SRM 666 DIV 1
WalkOverATree
题意:给你一棵树,有个人在节点0,现在问你,这个人走L步,最多能访问多少个不同的节点,一个节点可以被走多次,但只算一次。
题解:这个问题的关键在于,每个点最多走两次,这是因为我要么一次性走到这个点,要么从这个点回去走其他的点,不可能出现走三次的情况,这里需要细想清楚。
那么我们可以得到这样的一个算法:枚举一条一次性走的路径,想象成主干道,这个主干道上连接有若干旁道,那么我可以访问这个旁道上的某些点,然后返回主干道,这些点我一共要用两倍的步数才能走完,因为要返回主干道,并且容易发现,这对任意一个旁道都是一样的。
设d[i]表示i离根节点的距离,ans是最终的答案,那么ans=max(ans,d[i]+1+min(n-d[i]-1,(L-d[i])/2))。
SumOverPermutations
题意:
有个奇葩,组合数学很渣,老师问他:无限个n种颜色的球放在n个有顺序的盒子中,每个盒子放一个,相邻盒子的球的颜色不同,有多少种方法。这个奇葩给了个奇葩的解答,他说这和放的顺序有关,比如有三个盒子,三种颜色的球,若放的顺序是 1 2 3,那么答案就是3×2×2,若放的顺序是 1 3 2,那么答案就是3×3×1。更一般的,他认为,若一个位置的左侧和右侧都被放了,那么现在有(n-2)种可能性,若只有一侧被放了,那么有(n-1)种可能性,若两侧都没放,那么有n种可能性。我们知道这是明显错误的,但是,题目就是问你,给你个n,这n!种放的顺序按照这个奇葩的算法得到的答案是多少。
题解:
令$dp[i]$表示$n$种颜色放在$i$个盒子中,答案是多少。那么转移就只有两种情况:
一种是将第$i$个球放在边界上,这种的转移是$dp[i]=2*dp[i-1]*(n-1)$,第一项的2表示左右两个边界,第二项$dp[i-1]$表示$i-1$时的情况,第三项$n-1$表示由于第$i$个球在边界,所以只乘$n-1$
另外一种是将第$i$个球放在中间某个位置,假设其左侧有$j$个球,那么转移必然是
$$dp[i]=\sum\limits_{j=1}^{i-2}C_{i-1}^j*dp[j]*dp[i-j-1]*(n-2)$$
所以总的转移是
$$dp[i]=(\sum\limits_{j=1}^{i-2}C_{i-1}^j*dp[j]*dp[i-j-1]*(n-2))+2*dp[i-1]*(n-1)$$
答案显然是$dp[n]$
long long dp[MAX_N];
long long mod=;
long long C[MAX_N][MAX_N]; class SumOverPermutations
{
public:
int findSum(int n)
{
C[][]=;
for(int i=;i<=n;i++)
for(int j=;j<=i;j++)
C[i][j]=(j==?:C[i-][j-]+C[i-][j])%mod;
dp[]=n%mod;
dp[]=n%mod*(n-)%mod*%mod;
for(int i=;i<=n;i++){
dp[i]=%mod*(n-)%mod*dp[i-]%mod;
for(int j=;j<=i-;j++)
dp[i]=(dp[i]+C[i-][j]%mod*dp[j]%mod*dp[i-j-]%mod*(n-)%mod)%mod;
}
return dp[n]%mod;
}
};
Topcoder SRM 666 DIV 1的更多相关文章
- TopCoder SRM 560 Div 1 - Problem 1000 BoundedOptimization & Codeforces 839 E
传送门:https://284914869.github.io/AEoj/560.html 题目简述: 定义"项"为两个不同变量相乘. 求一个由多个不同"项"相 ...
- TopCoder SRM 667 Div.2题解
概览: T1 枚举 T2 状压DP T3 DP TopCoder SRM 667 Div.2 T1 解题思路 由于数据范围很小,所以直接枚举所有点,判断是否可行.时间复杂度O(δX × δY),空间复 ...
- Topcoder SRM 656 (Div.1) 250 RandomPancakeStack - 概率+记忆化搜索
最近连续三次TC爆零了,,,我的心好痛. 不知怎么想的,这题把题意理解成,第一次选择j,第二次选择i后,只能从1~i-1.i+1~j找,其实还可以从j+1~n中找,只要没有被选中过就行... [题意] ...
- [topcoder]SRM 646 DIV 2
第一题:K等于1或者2,非常简单.略.K更多的情况,http://www.cnblogs.com/lautsie/p/4242975.html,值得思考. 第二题:http://www.cnblogs ...
- [topcoder]SRM 633 DIV 2
第一题,http://community.topcoder.com/stat?c=problem_statement&pm=13462&rd=16076 模拟就可以了. #includ ...
- TopCoder SRM 596 DIV 1 250
body { font-family: Monospaced; font-size: 12pt } pre { font-family: Monospaced; font-size: 12pt } P ...
- Topcoder SRM 648 (div.2)
第一次做TC全部通过,截图纪念一下. 终于蓝了一次,也是TC上第一次变成蓝名,下次就要做Div.1了,希望div1不要挂零..._(:зゝ∠)_ A. KitayutaMart2 万年不变的水题. # ...
- 【topcoder SRM 702 DIV 2 250】TestTaking
Problem Statement Recently, Alice had to take a test. The test consisted of a sequence of true/false ...
- TopCoder SRM 639 Div.2 500 AliceGameEasy
题意: 一个游戏有n轮,有A和B比赛,谁在第 i 轮得胜,就获得 i 分,给出x,y,问A得x分,B得y分有没有可能,如果有,输出A最少赢的盘数 解题思路: 首先判断n(n+1)/2 = (x+y)是 ...
随机推荐
- Diycode开源项目 搭建可以具有下拉刷新和上拉加载的Fragment
1.效果预览 1.1.这个首页就是一个Fragment碎片,本文讲述的就是这个碎片的搭建方式. 下拉会有一个旋转的刷新圈,上拉会刷新数据. 1.2.整体结构 首先底层的是BaseFragment 然后 ...
- codeforce830A. Office Keys
A. Office Keys time limit per test: 2 seconds memory limit per test: 256 megabytes input standard: i ...
- Elastic Search和Kibana入门
一.ES配置 二.ES本地快速搭建集群 查看ES集群 查看node详细情况 三.Kibana配置 修改kibana的es配置 访问localhost:5601端口 四.Elasticsearch 术语 ...
- Flask 中蓝图的两种表现形式
最近在学Flask,特有的@X.route 很适合RESTfuld API, 一般小型应用,在一个py文件中就可以完成,但是维护起来比较麻烦. 想体验Django那样的MVT模式, 看到 Flask提 ...
- 如何使用PowerShell管理Windows服务
[TechTarget中国原创] 作为一名系统管理员,最常见的任务之一就是学会管理Windows服务,这是保证Windows服务器和客户端正常运行的重要内容. 许多操作系统和应用程序都依赖于这些服务. ...
- 在 Amazon AWS 搭建及部署网站:(二)安装、配置软件,启动网站
现在,我们已经有了一台EC2主机,具备了基本的硬件环境.下面,开始软件环境的配置. 第一步:连接服务器 后面所有的一切,都需要在SSH终端窗口操作.首先,我们需要一个SSH客户端.PuTTY是很常用的 ...
- 【Best Time to Buy and Sell Stock II】cpp
题目: Say you have an array for which the ith element is the price of a given stock on day i. Design a ...
- PageObject模式简介
一.原理 将页面元素定位和对元素的操作行为封装成一个page类,实现对页面对象和测试用例的分离. 一条测试用例可能需要多个步骤操作元素,将每个步骤单独的封装成一个方法,在执行测试用例的时候调用封装好的 ...
- day02_01.能被3整除的数
第1题 能被3整除的数 编程思想的初步形成 把人的正常思维放大化,用放大镜去放大你的每个思考过程 你会发现,原来编程没有你想象的那么难 题目:输出100以内(不含100)能被3整除的所有整数 < ...
- c++树及树与二叉树的转换
此算法中的树结构为“左儿子有兄弟链接结构” 在这样的一个二叉树中,一个节点的左分支是他的大儿子节点,右分支为他的大兄弟节点. 这里讲的树有递归前根,中根,后根遍历,插入节点,插入兄弟节点,查找结点,释 ...