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的更多相关文章

  1. TopCoder SRM 560 Div 1 - Problem 1000 BoundedOptimization & Codeforces 839 E

    传送门:https://284914869.github.io/AEoj/560.html 题目简述: 定义"项"为两个不同变量相乘. 求一个由多个不同"项"相 ...

  2. TopCoder SRM 667 Div.2题解

    概览: T1 枚举 T2 状压DP T3 DP TopCoder SRM 667 Div.2 T1 解题思路 由于数据范围很小,所以直接枚举所有点,判断是否可行.时间复杂度O(δX × δY),空间复 ...

  3. Topcoder SRM 656 (Div.1) 250 RandomPancakeStack - 概率+记忆化搜索

    最近连续三次TC爆零了,,,我的心好痛. 不知怎么想的,这题把题意理解成,第一次选择j,第二次选择i后,只能从1~i-1.i+1~j找,其实还可以从j+1~n中找,只要没有被选中过就行... [题意] ...

  4. [topcoder]SRM 646 DIV 2

    第一题:K等于1或者2,非常简单.略.K更多的情况,http://www.cnblogs.com/lautsie/p/4242975.html,值得思考. 第二题:http://www.cnblogs ...

  5. [topcoder]SRM 633 DIV 2

    第一题,http://community.topcoder.com/stat?c=problem_statement&pm=13462&rd=16076 模拟就可以了. #includ ...

  6. TopCoder SRM 596 DIV 1 250

    body { font-family: Monospaced; font-size: 12pt } pre { font-family: Monospaced; font-size: 12pt } P ...

  7. Topcoder SRM 648 (div.2)

    第一次做TC全部通过,截图纪念一下. 终于蓝了一次,也是TC上第一次变成蓝名,下次就要做Div.1了,希望div1不要挂零..._(:зゝ∠)_ A. KitayutaMart2 万年不变的水题. # ...

  8. 【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 ...

  9. 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)是 ...

随机推荐

  1. NOS直传加速服务

    本文来自网易云社区 作者:孙建良 最近团队在对存储系统做一些性能测试,期间遇到了不少问题,测试过程中得出的结果也没有很好的数据支撑,所以尝试了非常多的方法来对性能问题进行定位. 小王童鞋是挺厉害的,使 ...

  2. IOS开发---菜鸟学习之路--(十六)-将Image转换为Base64

    我们直接在.m文件的引用头文件部分 和 @interface   AddPictureViewController () 之间  加入 增加部分的代码 然后就可以使用图片转Base64了 #impor ...

  3. 混淆矩阵、准确率、召回率、ROC曲线、AUC

    混淆矩阵.准确率.召回率.ROC曲线.AUC 假设有一个用来对猫(cats).狗(dogs).兔子(rabbits)进行分类的系统,混淆矩阵就是为了进一步分析性能而对该算法测试结果做出的总结.假设总共 ...

  4. sqlserver执行时间和自行效率

    SET STATISTICS PROFILE ON --SET STATISTICS IO ON --SET STATISTICS TIME ON declare @dtm datetime SQL语 ...

  5. ibatis核心内容概述

    核心提示:SqlMap的配置是iBatis中应用的核心.这部分任务占据了iBatis开发的70的工作量. 1.命名空间: sqlMap namespace=Account,在此空间外要引用此空间的元素 ...

  6. UVALive 5983 MAGRID DP

    题意:在一个n*m的网格上,从(0,0)走到(n-1,m-1),每次只能向右或者向下走一格.一个人最初有一个生命值x,走到每一个格生命值会 变为x + s[i][j],(s[i][j]可为负,0,正) ...

  7. 【转】unity Animator 怎么判断一个动画播放结束

    关于unity Animator 怎么判断一个动画播放结束这里有几种方法.希望对大家有帮助.还有其他办法的可以分享一下 第一种方法:在动画结束帧后面加个动画事件,调用下含这个变量的函数接口不是可以了? ...

  8. Mysql,phpmyadmin密码忘了怎么办

    1.关闭mysql服务 # service mysql stop 如果提示mysql: unrecognized service这样的错误提示. 先查看查找mysql.server,使用:find / ...

  9. iOS App启动图不显示的解决办法.

    1. 正常来说,启动图以及App图标需按照命名规则命名, 但是命名不规范并不影响显示; 2. 设置启动图的两种方法:      (1) iOS 8—xcode 6 之后新出LaunchScreen.s ...

  10. PIC单片机之时钟设置

    PIC单片机之时钟设置 http://blog.csdn.net/superanters/article/details/8541650 内部时钟和外部时钟? PIC单片机有许多型号可以设置成 用外部 ...