[国家集训队2011]Crash的文明世界 …

MIPI video mode 和 command mode 的区别 1、何为LCD RAM? LCD 是指字面意思是液晶显示屏(Liquid Crystal Display), 而RAM: 随机存取存储器(Random-Access Memory),两者完全是风马牛不相及的东西。 下图是一个标准的LCD的爆炸图(不含TP),请注意图中红色mark的地方:控制IC-- LCD的大脑。所谓的LCD RAM自然是指此大脑是否包含RAM. 题外话<不感兴趣的... 阅读详情
题目:
Crash小朋友最近迷上了一款游戏——文明5(CivilizationV)。在这个游戏中,玩家可以建立和发展自己的国家,通过外交和别的国家交流,或是通过战争征服别的国家。
现在Crash已经拥有了一个N个城市的国家,这些城市之间通过道路相连。由于建设道路是有花费的,因此Crash只修建了N-1条道路连接这些城市,不过可以保证任意两个城市都有路径相通。
在游戏中,Crash需要选择一个城市作为他的国家的首都,选择首都需要考虑很多指标,有一个指标是这样的:


其中S(i)表示第i个城市的指标值,dist(i,j)表示第i个城市到第j个城市需要经过的道路条数的最小值,k为一个常数且为正整数。
因此Crash交给你一个简单的任务:给出城市之间的道路,对于每个城市,输出这个城市的指标值,由于指标值可能会很大,所以你只需要输出这个数mod10007的值。


分析:
出题人的解法是树分治,不过在网上能找到一篇神奇的题解:

这篇题解是基于第二类斯特林(Stirling)数的。我们先来看一下这个“第二类斯特林数”到底是什么东西。

Wiki的定义:“第二类斯特林数是n个元素的集定义k个等价类的方案数”。
什么意思呢?它是这样的一个函数S(n,k),代表将n个人分成k组(组之间不可区分)的方案数。也可以理解为,将n个不同的小球放入k个相同的盒子,要求所有盒子非空的方案数。

斯特林数有一个递推公式:S(n,k)=S(n-1,k-1)+k*S(n-1,k)。边界条件S(n,1)=S(n,n)=1.
边界条件很好理解:n个小球放进一个盒子只有一种方案,放进n个相同盒子(每个盒子非空)也只有一种方案,即每个球一个盒子。
那递推关系怎么理解呢?n个小球放入k个相同盒子,每个盒子非空,那么有两种可能:
①第n个小球单独占一个盒子,此时其余n-1个小球占k-1个盒子,方案数是S(n-1,k-1)
②第n个小球放进前面个某个盒子,那么其余n-1个小球必然占k个盒子,第n个球可以放进k个盒子中的任意一个,方案数是k*S(n-1,k)。

并且,斯特林数还有一个很好的性质:

其中的含义是n选m的排列数(即n(n-1)...(n-m+1))。
顺便插一句:排列数还有一种高端洋气的写法:
(那篇题解中就是这么写的,但他打不出来角标,就写成下划线了……)

那么,为什么它是对的?从组合数的意义考虑。
x^n的意义是:n个不同的小球放进x个不同的盒子,允许有空盒的方案数。(每个球都有x种放法)
我们关注等式右边的某一项:S(n,i)*P(x,i)。S(n,i)代表把n个不同小球放进i个相同的盒子,P(x,i)的意义则是:从1~x中有序地取出i个数,来给这i个盒子标号的方案数。
换句话说,S(n,i)*P(x,i)就是:n个不同小球放进x个不同的盒子,其中i个盒子非空的方案数。
自然,对i从1到n求和后就是x^n了。

斯特林数在这道题中有什么用呢?一个自然的想法是:对节点i,记录f[i][j]=∑P(dist(x,i),j),x=1..n。但这个方程难以递推。假设我们知道了g[i][j]=∑P(dist(x,i),j),x是i的后代,那么对于某节点v和其父亲u,有dist(x,u)=dist(x,v)+1,其中x是v的后代。但P(dist(x,u),j)难以快速和P(dist(x,v), j)即P(dist(x,u)-1 , j)建立关系。
但是!排列无法迅速建立关系,组合却可以!我们有公式C(n,m)=C(n-1,m-1)+C(n-1,m)。

我们考虑把排列改成组合。设down[i][j]=∑C(dist(x,i),j),x是i的后代。在用u的某儿子v去更新u时,我们只需要让down[v]“走一步”(即在杨辉三角中向下移动一行),就能把v后代到v的结果变成u后代到u的结果。
在一遍DP出down后,再设f[i][j]=∑C(dist(x,i),j),x=1..n。它比down[i][j]多包含了i“上方”的那些节点。当我们用u去更新u的儿子v时,先让down[u]走一步,然后再减去down[v]走两步的结果,再加上down[v],就得到了f[v]。

代码:
一台NAS两个系统:飞牛nas上完美运行群晖DSM?(飞牛nas+群晖nas套娃安装实操) 想在飞牛NAS上体验群晖DSM系统?💡 本文详细记录了飞牛nas上部署群晖的完整过程,从镜像转换到系统安装,每一步都有详细说明 🖥️,让你在不增加硬件成本的情况下,轻松实现一套硬件、多种系统的灵活部署 ✅ 阅读详情

相关推荐

方差迭代计算公式

方差迭代计算过程推导术语约定递推公式过程推导 术语约定 (1)En=1n∑i=1nxi E_n =\frac{1}{n} \sum_{i=1}^{n}x_i \tag{1} En​=n1​i=1∑n​xi​(1) (2)F(n)=∑i=1n(x2−En) F(n) = \sum_{i=1}^{n}{(x^2-E_n)} \tag{2} F(n)=i=1∑n​(x2−En​)(2) (3)V(n)...

weixin_44479136的博客 7921

BZOJ2159 Crash 的文明世界 题解

题目大意:给一棵N个节点的树及正整数K,对每一个节点i求Σdist(i,j)^K。N。 O(NK^2),O(NKlogK)的做法都可以在贾志鹏2011年的集训队作业里看到。下面介绍一种O((N+K)K)的做法。 首先讲讲第二类斯特林数。S(N,K)表示将N个元素划分成K个非空子集的方案数。S(N,K)可以表示成递推形式:S(N,K)=S(N-1,K-1)+K*S(N-1,K)。N的斯特林数大概

SSOI_HTA的专栏 3257

C# 通俗易懂的介绍基础知识(七)——栈Stack(从日常生活开始讲解)

C# 通俗易懂的介绍基础知识(七)——栈Stack(从日常生活开始讲解) 大家好,我是菌菌巧乐兹,励志用最简单的语言来讲解程序知识点。

菌菌兹的博客 1669

[国家集训队] Crash 的文明世界——斯特林反演、组合数、换根DP

一晚上都干了些什么啊!我这个废物!

偶耶的博客 575

暗黑破坏神2重制版 mod制作教程(一)

暗黑2重制版mod修改教程

hhhh2312的博客 7450

STM32 RC522串口驱动程序 (简单直接)

rc522作为使用非常多的读写卡芯片,使用SPI芯片读写应用已经非常广了。但有些时候我们只有串口可以使用,或者我们觉得串口使用更加方便,那么就必须要编写串口的驱动程序。不过很难找到可以直接使用的串口程序。所以在此将我这边写好的串口驱动写好如下: 直接上代码 下面是RC522.C的驱动文件。支持读写卡号8位数据。rc522用的是stm32 的串口3,调试显示是串口1; #include "rc522.h" #include "delay.h" /////////////////////////////////

qq_42074368的博客 9001

2159: Crash 的文明世界

2159: Crash 的文明世界Time Limit: 10 Sec  Memory Limit: 259 MBSubmit: 548  Solved: 256[Submit][Status][Discuss]DescriptionCrash 小朋友最近迷上了一款游戏——文明5(Civilization V)。在这个游戏中,玩家可以建立和发展自己的国家,通过外交和别的国家交流,或是通过战争征服别...

Tgotp的博客 373

张正友标定法_单目-线激光三维扫描系统中光刀平面的标定

单目-线激光三维扫描系统中光刀平面的标定线结构光有结构简单、精度高、测速快等特点,被广泛应用于三维重建领域。线结构光三维扫描系统由一个相机和一个线结构光投射器构成,线结构光投射器将线结构光投射到被测物体表面,相机采集带有线激光的被测物体图像,根据相机和线激光投射器间的相对位置关系,使用激光三角法计算出激光线上的点在相机坐标系下的坐标。激光三角法原理如下图所示,线激光投射的扇形区域可以看作是一个平面...

weixin_39616379的博客 1074

luogu P4827 [国家集训队] Crash 的文明世界

背景: 自己的模拟赛自己的防AK\text{AK}AK题防住了自己。 NTT\text{NTT}NTT不熟啊。 题目传送门: https://www.luogu.org/problem/P4827 题意: 一棵树,对于每一个点xxx求:∑i=1ndis(x,i)k\sum_{i=1}^{n}\text{dis}(x,i)^k∑i=1n​dis(x,i)k。 思路1: 显然可以用点分治,...

zsyz_ZZY的博客 292

使用Python爬虫抓取公共交通网站的时刻表

Python爬虫是一种通过自动化方式从网页中抓取数据的程序。爬虫通过模拟用户请求,获取网站的HTML页面内容,并通过解析这些HTML内容,提取出我们需要的信息。requests:用于向网站发送HTTP请求并获取响应。:用于解析HTML文档,提取数据。Selenium:用于处理动态加载的网页,模拟浏览器操作。pandas:用于数据处理和分析,方便存储和操作抓取到的数据。本文介绍了如何使用Python爬虫抓取公共交通网站的时刻表,并提取其中的关键信息。我们使用了requestsSelenium和。

2201_76125261的博客 1119

29、集成电路测试技术解析

本文深入解析了集成电路测试技术,涵盖定制电路测试资源与策略、混合模拟/数字电路测试方法、数字测试模式生成难点与解决方案,以及可控性和可观测性的核心概念。同时详细讨论了固定故障、桥接故障和开路故障等主要故障模型及其检测方法。在测试技术的综合应用与优化方面,提出了合理配置测试资源、优化测试模式和设计测试流程的策略。最后展望了测试技术的发展趋势,包括集成化测试、自动化测试和智能化测试。通过全面掌握这些测试技术,可以有效提高集成电路的质量和可靠性,推动集成电路产业的发展。

work3的博客 204

[BZOJ2159]Crash的文明世界 树型DP+第二类Striling数

听说形如xkx^k的都是Stirling数的套路?我怎么没听说过啊。。。 有个性质:xk=∑i=1kS(k,i)∗i!∗(xi)x^k=\sum_{i=1}^k S(k,i)*i!*{x\choose i} 考虑一个组合意义证明,就是给kk个格子染xx种色的方案数,等于先把这kk个格子分成若干集合,在选出相同个数的颜色,每个集合染同一种颜色的方案数。i!∗(xi)i!*{x\choose i}

DOFYPXY的博客 618

100天精通Python(基础篇)——第4天:数据类型全解析_从基础到转换

数据类型全解析_从基础到转换

努力让自己发光,对的人才能迎着光而来 11万+

[国家集训队] Crash的文明世界

Description 给定一棵 \(n\) 个点的树,对于每个点 \(i\) 求 \(S(i)=\sum\limits_{j=1}^n \operatorname{dist(i,j)}^k\) 。\(n\leq 50000,k\leq 150\)。 Sol 根据斯特林展开,原式化为 \[ \begin{align}S(i)= & \sum\limits_{j=1}^n \sum\limi...

weixin_30553065的博客 139

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

[国家集训队]Crash的数字表格

题意 求 \(\sum\limits_{i = 1}^N \sum\limits_{j = 1}^M lcm (i, j)\) Solution 易知,原式 \[\sum\limits_{i = 1}^N \sum\limits_{j = 1}^M \frac{ij}{\gcd (i, j)}\] 枚举 \(\gcd (i, j)\) ,且将 \(d\) 提出来得 \[\sum\limi...

138

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

[BZOJ2117][2010国家集训队]Crash的旅游计划

题意:给一棵树,求从每个点开始走向其它n-1个点的距离中第k大值。 又是第k大简直cqoi既视感23333 其实我一开始看到这个第k大就想起了cqoi那个k光滑数,那个题是用持久化可并堆做dp,然后这个题我就想能不能写个主席树合并然后用主席树跑树dp来表示每个点走到其它点的距离什么的,然后发现不可做。。 然后再想了想,发现就是紫荆花弱化版,然后看了看时限,150秒,就觉得非常靠谱。 考虑二

AZUI _ oi memories 1673

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

P1829 [国家集训队]Crash的数字表格 / JZPTAB

莫比乌斯反演

Ajwallet 449

[点分树 二分答案] BZOJ 2117 [2010国家集训队]Crash的旅游计划

二分答案后就转化为有多少个数到某点距离小于多少 这就是个裸的点分树啊 复杂度O(nlog3n)O(n \log ^3 n)#include<cstdio> #include<cstdlib> #include<algorithm> #include<vector> using namespace std;inline char nc(){ static char buf[100000],*p

雯舞 756

洛谷P1829 [国家集训队]Crash的数字表格 / JZPTAB(莫比乌斯反演)

题目背景 提示:原 P1829 半数集问题 已经迁移至 P1028 数的计算 题目描述 今天的数学课上,Crash小朋友学习了最小公倍数(Least Common Multiple)。对于两个正整数a和b,LCM(a, b)表示能同时整除a和b的最小正整数。例如,LCM(6, 8) = 24。 回到家后,Crash还在想着课上学的东西,为了研究最小公倍数,他画了一张N*M的表格。每个格子里...

weixin_30462049的博客 186

【学习笔记】莫比乌斯反演

退役OIer回来受虐啦μ(x)={1x>1(−1)nx=∏i=1nPi0otherwise\mu(x) = \begin{cases} 1 & x > 1 \\ (-1)^n & x = \prod _ {i=1} ^ {n} P_{i}\\ 0 & otherwise \end{cases}μ(x)=⎩⎨⎧​1(−1)n0​x>1x=∏i=1n​Pi​otherwise​φ(n)=∑i=1n [gcd(i,n)=1]\varphi(n)=\sum_{i=1}^{n}\ [gcd(i,n)=1]φ(n)=i

Brute♂force 604

莫比乌斯反演/各种筛法刷题计划

1、[国家集训队]Crash的数字表格(这是第一道,感觉难度不太像入门啊) 2、[POI2007]ZAP-Queries(这题比较入门,题解) 3、[HAOI2011]Problem b(差不多是上个题的加强版,题解) 4、YY的GCD 5、SDOI2015约数个数和 6、Sum 7、sdoi2014数表 8、于神之怒加强版 9、calc 转载于:https://www.cnblogs.com/...

weixin_30436891的博客 130

【BZOJ2159】Crash的文明世界

【2011集训贾志鹏】Crash的文明世界 Description   Crash小朋友最近迷上了一款游戏——文明5(Civilization V)。在这个游戏中,玩家可以建立和发展自己的国家,通过外交和别的国家交流,或是通过战争征服别的国家。   现在Crash已经拥有了一个N个城市的国家,这些城市之间通过道路相连。由于建设道路是有花费的,因此Crash只修建了N-1条道路连接这些城市,不过可以...

weixin_33918357的博客 157

【BZOJ2159】Crash 的文明世界

【题目链接】点击打开链接【思路要点】假设现在我们有一个集合,我们希望支持向其中加入一个0,或者询问集合中所有数的\(k\)次方和。我们发现直接展开\((x+1)^k-x^k\)不是很好处理。考虑\(x^k\)的组合意义,应当为将\(k\)个不相同的物品放到\(x\)个不相同的容器中的方案数。考虑枚举恰好有\(i\)个容器被放入了物品,有\(x^k=\sum_{i=1}^{k}S(k,i)*\bin...

cz_xuyixuan的博客 449

[BZOJ2159]Crash 的文明世界-Stirling数-动态规划

Crash 的文明世界DescriptionCrash 小朋友最近迷上了一款游戏——文明5(Civilization V)。在这个游戏中,玩家可以建立和发展自己的国家,通过外交和别的国家交流,或是通过战争征服别的国家。现在Crash 已经拥有了一个N 个城市的国家,这些城市之间通过道路相连。由于建设道路是有花费的,因此Crash 只修建了N-1 条道路连接这些城市,不过可以保证任意两个城市都有路径相

「嫌われ者のフィロソフィ」 1071

bzoj 2159: Crash 的文明世界

又来做了一次。。 之前写得实在是太差了,这次写好点吧。。 这里介绍用斯特林数展开的方法 如果不会的可以先看看这里 我们知道xn=∑k=0nS(n,k)∗k!∗C(x,k)x^n=\sum_{k=0}^nS(n,k)*k!*C(x,k)xn=∑k=0n​S(n,k)∗k!∗C(x,k) 因此,如果想知道答案,其实就是要知道对于每一个kkk,C(x,k)C(x,k)C(x,k)的和 然后,你会发现,这...

OZY的博客 330

bzoj 2159: Crash 的文明世界 树形dp

一般这种统计里面带k次方的都要转换成组合数把。。。        有:x^k=Σ(i=1,n) Stirling2(k,i)*P(x,i),而P(x,i)=C(x,i)*i!,这样就成功转化成组合数了。那么答案就是对于一定定点x要统计所有的Σ(i=1,n) C(dist(x,i),j) j=1...n,那么利用C(i,j)=C(i-1,j-1)+C(i-1,j),以及父亲和儿子的答案(dist刚

lych的博客 1231
上一篇: [国家集训队2011]刷题计划&nbsp;解题报…
下一篇: [Topcoder&nbsp;SRM&nbsp;467]均匀字符串Next…
wmdcstdio
博客等级 码龄12年 76粉丝 51原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值