The 2013 Arab Collegiate Programming Contest 题解

来源:互联网 发布:易语言软件更新源码 编辑:程序博客网 时间:2024/05/18 22:17

这个应该是去年非洲的两场区预赛的其中一场

代码其实都没写可以理解为是脑补的...........

题目地址:http://acmacpc.org/Homesite/2013/


简要题解(简单题目就不展开了....)


A.   若干连续?的替换方案只有1种 或者 ?个数加一种(看这一段问号的前后是否相同),于是乘法原理计算即可(注意判断非法)


B.  给出B串,求A串是否是B串的子序列

这题不需要考虑最长子序列的算法,考虑F[i][ch]=min{j | B[j] == ch && j > i},i =0..n-1

那么对于串A,每次利用F数组去做转移即可(算法证明应该是和贪心差不多吧....?)


C. 目测只想到mn^2的做法....如果有剪枝的话也许能过..?


D.容量很大 可选择的物品的种类很少且总数在1000级别的背包表示还真没认真想过....好像是搜索+剪枝什么的...完全不了解(求解啊....)


E F签到题


G.感觉多人博弈什么的完全不可做,所以不妨假设这个游戏别人的策略就是不让X位置的人赢,那么在多人博弈的时候,除非只有一个石头且X = 1 否则没有必胜策略

而对于两个人来说,这个问题似乎就变得简单了。。。。应该是偶数先手赢奇数后手赢(应该是吧...)

交了一下代码但是LA崩掉了...明天再说


H.DP+转移优化

这里Dp的思想是很容易想到的,但是由于DP的时候如果暴力转移总复杂度会非常高,所以要考虑将转移压缩成O(1)的,这样才能过.......(好像是这样吧...)


I.贪心 注意题目中元素和元素之间的性质


J.很经典的扩展欧几里得....这个算是数论吧...


K 完全不会......但是这道题现场出了很多人..所以不知道什么情况

//好吧 之后认真读了一下题发现其实就是最短路+背包预处理...读错题什么的太忧伤了....


L.合理构造即可


0 0
原创粉丝点击