1、[HNOI2004]敲砖块
题目简介:一个倒过来的数塔,想敲下面一块必须敲上面两块,,求k次的最高得分;;;
思考:这种题一般不是贪心,,实际上稍微想一想就知道不对了;;;;;考虑dp,,由于敲一块必须敲上面两块,所以状态转移的方向已经明确了;;
因为数塔是一个整体,所以考虑用局部凑整体,,,,由于dp具有一定的方向性,,且有一定不可描述性,,一次一定要选一块砖,,就避免了不全面,,于是就从一侧往另一侧,从上到下进行dp;;
f【i】【j】【选了几个数】(一定选i,j);;;
突破口: 按照选择进行dp;;
启发: dp的顺序很重要,,但有时顺序是与问题直接关系没关系的;;;;;; 二就是不一定按照取的次数安排dp,有关系的话可以多建一维、、、、
2、[SCOI2009]windy数
题目简介:一个数,求1~n相邻两数差值在±2的数的数的个数;
思考:这种方案题一看便知不是贪心就是dp;因为贪心不直观所以用dp。转移方程加个限制即可,再加上第一位0,最后一位+1的特判。
f【位数】【最高位数字】;
突破口: 需要一定的排列组合基础。
启发:程序的细节太重要,调试就是要调细节,一定确保每个判断准确
3、[BeiJing2006]狼抓兔子
题目简介:告诉你一个图,有横,纵,斜3个方向可走,在从左上到右下的路中所有流量中,选几条能将从起点来的流量全部截断所减去的流量和;;
思考:兔子所走的量受最小边的影响,且没说明兔子的数量,即可知这是求最大流,既然求能阻断所有从起点来的流量,就知应该是割,而且还是求最小割;
于是乎dinic,但会T,因为数据范围太大。。 这时经验出现了:平面图最小割=最大流模型+spfa。
突破口:如何从最大流转到最小割并跑 平面割spfa
启发:问题需要转化,需要把问题抽象。即从文字意思中提取出数学模型(难的题往往是根据原理抽出一个完全看不出和题目有什么关系的模型)。
4、[FJOI2007]轮状病毒
题目简介:题目意思已经很明确;;
思考:一眼上去是数论/递推dp,,但它好像比较奇怪。。数论解法是直接套
基尔霍夫矩阵,但数论蒟蒻却可以用找规律的方法做题。。
1~5 的方案数为: 1 5 16 45 121
可知奇数个都是完全平方数,偶数个是5的倍数。。于是乎1*1 3*3-4 4*4 7*7-4 11*11 斐波那契数列、、
突破口:数论,不会数论就找规律,好多组合排列的题貌似都可以套规律猜想解。。
启发:多学数论定理,递推技巧(蒟蒻就枚举吧)。
5、[ZJOI2006]物流运输
题目简介:给你一个无向图,再给你每条边的费用,哪些点不能用,求总费用(总费用=改变费用*改变次数(注意是改变方案而不是改变一个点!!!!!)+每天路上点和)
思考:这题肯定和最短路有关,而且还要循环天数,有改变点求最小,涉及到没有规律的改边的问题就已经不是纯图论能解决的问题,可知要么贪心要么dp要么暴力。
贪心肯定是有问题的、。。因为条件没法统筹决策,于是乎需要用暴力的去重算法——dp。开始分析:对于需要变化的方案,肯定是由一种最优变到另一种最优。转移就是
dp[i]=min{dp[i],dp[j]+cost[j+1][i]*(i-j)+k},dp[1]=第一天的最优方案。
cost需要预处理,也比较坑爹: 初值inf ,n^2循环,值等于spfa(i),遇到必须换方案的情况break;
突破口:想到dp,并明确取max会被什么影响,不会被什么影响。
启发:思维一定要足够清晰、连续,拒绝遗忘、、
6、[HNOI2008]Cards
题目简介:给你n张卡,要涂成指定数量的红、蓝、绿,在M种洗牌法下一共有多少种不同的涂法。
思考:一眼上去只能想到暴力和置换、、好吧,不能看上去,简单分析一下,有些置换是一个等价类里的,就只保留一个,再用组合数公式求总方案数-lucas每个不一样的序列。
7、[SDOI2009]HH的项链
题目简介:给你一个区间,求区间不同数的个数。
思考:传统线段树解决不了,主席树暴力建点怕被爆,splay也没法维护。百思不得其解、、
0.0看题解: 一种蜜汁树、、(好像也有线段树、莫队的题解,但好像不太好懂);;;
把所有询问读入,从右到左处理(被TA坑惨了,看了他的左扫、、)。扫的时候每到一个就往后推一个,即可完成区间仅算一次。。。用线段树/树状数组维护
突破口:扫描线法,确保只有一个,,灵活用区间树。。
启发:离线处理效率高,根据当前推出下一个,相当于为下一个铺路,再加上新出现的,就是种数、、、、、、、、(TA的dp功力使它想出解法)
8、
[ZJOI2007]矩阵游戏
题目简介:给你一个矩形,有黑点和白点,可以交换行和行、列和列 问是否存在方案使对角线上都有黑点
思考:感觉就是搜索题、、主要因为其他想法都没~~甚至还以为群论 看了标签是二分图后依然不知如何建图、、
题解做法是:因为列和行内部的情况是不会改变的,所以x和y互不相同的点是不会在一起的,只要数之间x和y互不相同的点的数量达到了n个,则一定有办法在不影响整体的情况下交换到达目标,结论:横坐标和纵坐标都不相同的n个点可以铺满对角线。。
突破口:利用对角线的数学性质:x和y互不相同 和 x和y都不同的点互不影响,可以和其他任意点交换,不影响其他点。。
启发:看到题目奇怪的时候一定要挖掘背后的数学性质,去构建抽象模型,不能根据题一步一步模拟、、、