![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ACM题解
文章平均质量分 57
Handa
这个作者很懒,什么都没留下…
展开
-
Hello,world!
终于熬到3天了么。#include using namespace std ;int main () { cout << "Hello,world!" << endl ;}原创 2012-07-13 20:28:58 · 463 阅读 · 0 评论 -
Sicily 1448. Antimonotonicity
题目的意思跟 Missile 是一样的(见上篇),数据量变大而已。 A之。代码:#include #include using namespace std ;#define maxn 30009#define max(a,b) a>b?a:b int t,n;int dp[maxn] , a[maxn] ;int main () { scanf原创 2013-10-01 18:38:07 · 1009 阅读 · 0 评论 -
Sicily 1685. Missile
有一种聪明的反导系统,可以“一上一下”地飞。那么,给定一个数组表示一堆导弹的飞行高度,求最多能打掉多少导弹。好吧,求一个 “最长 颠簸 子序列”。模仿 “最长上升子序列” 的动态规划解法,dp[i] 表示 “以第i个数结尾的颠簸序列”最长的长度。根据前面的 dp[j] (j合法了之后,是否更优。代码:原创 2013-10-01 18:36:41 · 758 阅读 · 0 评论 -
Sicily 1563. GECKO
题目背景挺有趣的,但,是个水题。。。。一面墙上有好多格子,每个格子有很多蚊子,一只壁虎想吃尽可能多的蚊子。它的法定移动方法如图,很2B。求问它最多可以吃到多少只蚊子。动态规划可以解决,在每个格子,可以吃到最多dp[i][j]只蚊子,那这个值,只可能从上一行的邻近格子得到,无后效性,dp吧。代码:原创 2013-10-01 18:33:46 · 815 阅读 · 0 评论 -
Sicily 1564. HOUSING
给个整数 x ,把它分解成不小于5的整数和,有多少种分法。容量是 x , 物品依次是 从5开始的整数 。。。 可以重复取,那就是——完全背包。要锻炼自己,把问题规约到典型模型的能力,这是最基本的。代码:#include #include using namespace std ;#define maxn 109int原创 2013-10-01 18:30:46 · 934 阅读 · 0 评论 -
Sicily 1888. Circular Sequence
题目给一个整数序列,让你想象它们是首尾相连的一个圈,让你求一段,使得这段内的和最大。Segment Sum 最大。其实,这种Segment可以有2种情况——一种是,没有跨越头尾的;另一种是跨过头尾的。前者,只需要用一个O(n)的经典dp就可以求出来。(思路就是,假如以上一位结尾的段和小于0,那么这一位就不必连续了,自己开个头算了。)后者,转化成,求一个段原创 2013-10-01 18:30:03 · 1243 阅读 · 0 评论 -
[Sicily] sicily 1091. Maximum Sum
题意:给一个数列,求一种分割方法分出两个子序列,使得两部分的和最大。那,可以用dynamic programming 的办法做。用DP的思想预处理出2个数组c和d,c[i] ---- 从前往后数到第i个数,可以取得的连续和最大子序列的 和。d[i] ---- 从后往前。。。。然后就枚举一遍了咯。代码:原创 2013-10-01 18:25:34 · 842 阅读 · 0 评论 -
Sicily 1902. Counting Problem
这题碉堡了。给一个N*N的棋盘,让你放皇后。要求:1、每行有且只有2个Queen;2、每列有且只有2个Queen;规定:如果两个棋盘,经过行交换和列交换,可以互相转换,那这两个局面等价。目标:给N,求出可以有多少种摆法(局面)。分析:这个题目,乍一看真的很无从下手。但是看到提示那个“规定”,这个原创 2013-10-01 18:31:35 · 787 阅读 · 0 评论 -
Sicily 1527. Tiling a Grid With Dominoes
题意:问一个 L*4 的矩形,用2*1的小矩形组成有多少种组法。思路:递推。用一个4bit的整数表示“行状态”。写出15个递推式即可。代码:// Problem#: 5855// Submission#: 1456823// The source code is licensed under Creative Commons Attribution-原创 2012-07-18 21:52:52 · 2084 阅读 · 2 评论 -
Sicily 1049. Mondriaan
题意:给2种积木(1*1的正方形和2*1的矩形),给一个L*2的矩形,问,有多少方法可以拼成这个矩形。思路:一个递推。定义 : f [i][0] --- 长度为 i 的矩形,可以由多少种方案组成;f [i][1] --- 在长度为i的矩形上,多突出1格(而且是由一个2*1的矩形来突出,如图)的图形,可以由多少种方案组成。那么可以看出 f[i][j原创 2012-07-18 19:32:53 · 797 阅读 · 0 评论 -
Sicily 1060. Bridging Signals
这题挺简单。看图就懂意思了,求不相交的线数目。什么时候两条线交叉呢? --- i > j 但 a[i] 由于题目中a[i] = i ;那就简单地成为了一个经典 ” 最长上升子序列 “问题啦。数据到了w的级别,用 O(nlgn)的贪心方法做。代码:#include #include using names原创 2013-10-01 18:32:25 · 849 阅读 · 0 评论