Question:
S[N]是T[N]的一个置换,求所有S[i]和T[i]差的绝对值的和恰好为moves的置换方法数。
Solution:
将S从小到大排序,从左往右进行动态规划。
状态(t, k, s)表示处理到第t个元素,它(不包含)之前有k个元素是要跟它(包含)后面的元素匹配的,s表示下来(包含)的匹配的所有差的绝对值的和。
注意到一点第t个元素前面的还未用来匹配的数也是等于k。
转移分5种情况。
1) S[t]跟S[t]匹配
2) 一个S[t]跟S[t]前面的数匹配,有一个S[t]还没有用来匹配
3) 一个S[t]跟S[t]后面的数匹配,有一个S[t]还没有用来匹配
4) 两个S[t]都跟S[t]前面的数匹配
5) 两个S[t]都跟S[t]后面的数匹配
int dp(int t, int k, int s) {
if (k < 0 || s < 0) return 0;
if (k > t || k > n - t) return 0;
if (t == n) {
if (k == 0 && s == 0) return 1;
else return 0;
}
int & tmp = d[t][k][s]; //引用写法更简洁
if (tmp != -1) return tmp;
tmp = 0;
add_it(tmp, dp(t + 1, k, s - a[t]));
add_it(tmp, (long long) dp(t + 1, k, s - a[t]) * k % mod);
add_it(tmp, (long long ) dp(t + 1, k, s - a[t]) * k % mod);
add_it(tmp, (long long) dp(t + 1, k - 1, s) * k * k % mod);
add_it(tmp, dp(t + 1, k + 1, s - a[t] - a[t]));
return tmp;
}
Extend:
S[N]有偶数个元素,将其两两配对,求差的绝对值和的可能种数。
这个问题其实更简单了。状态还是跟上面的一样。
转移就只有3种情况。
1) S[t]跟S[t]匹配
2) S[t]跟S[t]前面的数匹配
3) S[t]跟S[t]后面的数匹配
分享到:
相关推荐
hp-smart_tank_530_series hp-smart_tank_610_series hp-smart_tank_plus_550_series hp-smart_tank_plus_570_series hp-smart_tank_plus_650_series hp-smart_tank_wireless_450_series hp-tango
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
DLP11SN900SL2 CHIP COMMON MODE CHOKE 90ohm/100MHz FUSE SMD1812 SERIES PTC Devices 3A H1102 Pulse, net transformer.1:1; 1:1; Header 5 2.5mm间距,单排,5P针,直座 IHLP2525CZER4R7M01 INDUCTOR POWER 4.7UH...
Dle530gx.bat 联想dle530系列pack驱动旧版命令行模式单分区网刻批处理. Ip100go.bat Ic Plus Ip100系列pack驱动旧版命令行模式全盘网刻批处理. Ip100gx.bat Ic Plus Ip100系列pack驱动旧版命令行模式单分区网刻...
硬件设计项目中用到的ATLIUM PCB封装库68个器件合集 (AD库 )均已经验证使用,已在项目中使用,可以直接用于你的项目设计, 详细封装型号如下: Component Count : 68 Component Name ----------------------------...
Sony Ericsson Themes Creator 是索尼爱立信手机主题制作软件。 支持的索爱手机型号有:W850、W950、M600、Z550、Z710、W710、K610、K800、K790、J230、J220、J210、Z300、Z530、W300、K510、P990、W900、W810、W600...
打开弹出层: 在list页面带入layer.js ... $(.add_category,.update).click(function(){ //弹出框 var doMain = $('.domain_name').val();... area: ['900px', '530px'], fix: false, //不固定 maxmin: true,
530 Scala-for-LeetCode scala 有 leetcode 的答案。 Java 的 Leetcode: 1~50 51~100 101~150 151~200 201~250 251~300 301~350 351~400 401~450 451~500 501~550 551~600 601~650 651~700 701~750 751~800 801~850...
Dle530gx.bat 联想dle530系列pack驱动旧版命令行模式单分区网刻批处理. Ip100go.bat Ic Plus Ip100系列pack驱动旧版命令行模式全盘网刻批处理. Ip100gx.bat Ic Plus Ip100系列pack驱动旧版命令行模式单分区网刻...
Dle530gx.bat 联想dle530系列pack驱动旧版命令行模式单分区网刻批处理. Ip100go.bat Ic Plus Ip100系列pack驱动旧版命令行模式全盘网刻批处理. Ip100gx.bat Ic Plus Ip100系列pack驱动旧版命令行模式单分区网刻...
Dle530gx.bat 联想dle530系列pack驱动旧版命令行模式单分区网刻批处理. Ip100go.bat Ic Plus Ip100系列pack驱动旧版命令行模式全盘网刻批处理. Ip100gx.bat Ic Plus Ip100系列pack驱动旧版命令行模式单分区网刻...
酷极最新版本为V2.0,新版优化了常用的功能,为了提高速度减少手机流量费,软件新加了任务管理,传送的方式改为后台管理,可以在传送的同时进行别的操作。 <br>1、任务管理,后台下载。 对正在下载、已下载或...
为验证内构件移动床反应器处理低阶碎煤制取高品质油气效果,在煤处理量为1 000t/a的中试平台上对0mm~10mm神木煤进行了连续运行热解实验,重点考察了炉温900℃条件下的煤热解产物分布及其基本特性。结果表明:在控制...
2011-09-27 11:01 61,530 engine.exe 2011-09-27 11:01 304,268 engine.ilk 2011-09-27 11:01 238,592 engine.pdb 2011-09-27 11:01 28,766 enginetest.exe 2011-09-27 11:01 78,116 enginetest.ilk 2011-09-27 11:...
Contents Contents ii List of Tables x List of Figures xiv 1 Scope 1 2 Normative references 2 3 Terms and definitions 3 4 General principles 7 4.1 Implementation compliance . ....4.2 Structure of this ...
Matplotlib Release 1.2.0 I User’s Guide 1 1 Introduction 3 2 Installing 5 2.1 Manually installing pre-built packages. . . . ....2.2 Installing from source ....2.3 Build requirements....2.4 Building on OSX....
研制了一种用于GSM850/GSM900/DCS1800/PCS1900/UMTS频段的五频内置芯片天线。芯片天线将FR-4介质(介电常数为4.4)上的曲折线和螺旋线相结合,两者分别产生谐振频段进行叠加从而实现天线宽频工作特性。弯曲的折线...
SiS矽统SIS190/SIS191/900系列网卡驱动 Smc系列网卡驱动 TP-LINK普瑞尔TG-523/TF-3239系列网卡驱动 Topstar系列网卡驱动 ULi M5263 10/100M 集成网卡驱动 VIA威盛Velocity VT系列网卡驱动 Other\otr\lan其它一些网卡...
针对传统门禁系统采用普通IC卡存在可被破解的安全问题,设计了一...该门禁系统集成了MFRC530射频读卡模块和SIM900A GPRS通信模块,采用CPU卡作为用户验证卡片,解决了传统的门禁系统安全性低、管理人员操作麻烦等缺点。