关闭
当前搜索:

HDU 4055 Number String

原题地址 题意 给定一个字符序列,要求求对应地合法数字序列的排列数目,满足对应位置的数字的大小关系和字符序列匹配 II 对应 1 2 3 ID 对应 1 3 2 或者 2 3 1 I 表示递增,D表示递减,?表示随意。 题解     dp[i]是长度为i的排列数,那么考虑大小关系,显然状态转移需要第i-1位的数的值     dp[i][j]表示长度为i,末尾数字为j...
阅读(112) 评论(0)

HDU 4489 The King’s Ups and Downs

原题地址 题意 给定N个小人,小人身高各不相同,现在N个小人站成一排,要求任意连续的3个小人的身高成“高低高”或者“低高低”,问可能的排列数目。 题解 首先,dp[n]是N个人的合法排列数,那么dp[n+1]应该怎么抽象呢? 为了使决策有序,假设前N个人身高1-N,那么第N+1个人身高就是N+1. 为什么可以这样假设呢,因为dp[N+1]应该是一个只和N有关的数,那么插...
阅读(98) 评论(0)

ZOJ 3747 Attack on Titans

原题地址 题意 存在三种士兵G,R,P站成一排,总共N人,要求至少有M个G类士兵连续地站着,至多有K个R类士兵连续地站着,问合法的排列数。 题解 至少有M个G类士兵连续地站着这个条件不好处理,但是可以转化为“至多N个G类士兵连续”的方案数减去“至多M-1个G类士兵连续”的方案数。 接下来就是DP了…… dp[i][0]表示第i个位置为P类士兵的合法情况dp[i][1]表...
阅读(150) 评论(0)

codeforce 354A Vasya and Robot

原题地址 题意     有N个物品排成一排,编号1-N,每个物品有自己的重量wi,现在有一个机器人,每次操作可以选择搬运最左边或者最右边的物品,花费力气是l*wi或者r*wii,同时,如果连续搬运同一边的物品,还有额外的花销Ql和Qr,问如何使花费的力气最少。     这题很容易想歪,事实上我就想歪了,直到看到了tags里面的brute force……     无论什么次序取走物品...
阅读(215) 评论(0)

codeforce 165C Another Problem on Strings

原题链接 题意 给定一个只含0或者1的字符串,给定整数K(0 题解 形如100……001这样的子串符合题意,在两端加上0所得到的子串也符合题意,很明显是乘法原理 要求子串中1的个数恰好为K个,所以枚举子串起点,终点也就随之固定 预处理出1的位置数组id,用pre[i]记录第i个1和第i-1个1之间的0的个数,然后扫一遍OK。 有个坑,k==0需要额外处理 #...
阅读(194) 评论(0)

codeforce 602C The Two Routes

原题地址 题意 一个城市有N个小镇,部分小镇之间有铁路相连,当且仅当两个小镇之间没有铁路相连时,会有公路相连。 两个人同时从编号1的小镇前往编号N的小镇,分别坐火车和坐汽车,火车和汽车每经过一条边都花费一小时,要求两个人不可以同时到达除了N之外的小镇,最小化两个人中后到达的那人花费的时间 题解 乍一想这个“要求两个人不可以同时到达除了N之外的小镇”非常之难处理,以为是DP...
阅读(143) 评论(0)

codeforec 602B Approximating a Constant Range

原题地址 题意 给定一个序列,满足abs(a[i+1]-a[i]) 要求找到最长的一个子序列[l,r]满足序列中最大值max和最小值之差小于等于1 题解 这B题做了快一个小时还没有做出来,各种想错…… 最后搜了发题解,但是感觉那题解会被插啊…… 不过还是有启发的 暴力的话,肯定会想到枚举起点终点之类的,还要预处理区间极值,肯定T啦; 所以应该要想到枚举起点或者终点...
阅读(142) 评论(0)

codeforce 602A Two Bases

原题地址 题意 给定两种不同进制下的数,问两者的大小关系 题解 暴力好了,递归处理,O(n)复杂度 #include using namespace std; int a[20]; int b[20]; void solve(int arr[],int len,int base,int i,long long &x) { x+=arr[i]; if (i==...
阅读(108) 评论(0)

codeforce 416C Booking System

原题地址 题意 一家餐馆有K张桌子,每张桌子有最大容量ri; 有N份订单,每份订单有人数和钱 要求每份订单的人必须坐在一张桌子上,否则无法接受该订单 问怎样使钱数最大 #include using namespace std; const int maxn=1000; struct Request { int p; int c; int id; }; stru...
阅读(192) 评论(0)

codeforce 606C Sorting Railway Cars

原题地址 题意 有一节火车,共N节车厢,编号1-N,提供两个操作: 1.把任意位置一节车厢移到车头位置; 2.把任意位置一节车厢移到车尾位置; 问最少的移动次数使得序列升序排列 题解 开的virtual contest 做,A题WA2次,B题看不懂题意,C题以为是最长升序子序列,大喜过望,WA21…… 要是正式比赛铁定被插啊…… 不是升序子序列,而是严格单增1的子...
阅读(261) 评论(0)

codeforce 608C Chain Reaction

原题地址 题意 给定N个灯塔,灯塔一字排开,输入每个灯塔的坐标和灯光范围,如果一个灯塔被激活,那么灯塔左边(左边较小的方向)在灯光范围以内的塔都会被毁掉,现在可以在所有灯塔的最右边新建一座灯塔,新灯塔的坐标和灯光范围任意,之后所有灯塔从右往左依次激活,如果灯塔已经被毁,就不会激活,问如何选择新建灯塔的位置和灯光范围,可以使最后被毁掉的灯塔最少 题解 DP,激活一座灯塔,左边...
阅读(182) 评论(0)

codeforce 479E Riding in a Lift

原题地址 题意 一个N层建筑,有一台电梯,一个人开始时位于a层,他觉得坐电梯上上下下K次,建筑的b层有一个实验室,实验室禁止进入,而且对于人每次坐电梯有限制条件 假如目前人在X层,希望坐电梯去Y层,需要满足 abs(X-Y) 问人这K次上上下下总共有多少种方案,答案对1e9+7取模 题解 DP啦,状态转移比较好搞吧,有两个问题,一个是严格大于的写法,一个是剩余系下减法...
阅读(168) 评论(0)

CDOJ 1134 男神的约会

原题地址 题意     有一天男神约了学姐姐去看电影,电影院有一个活动,给你一个10*10的矩阵,每一个格子上都有一个0-9的整数,表示一共十种优惠券中的一种。     观众从左上角的格子开始走,走到右下角。每走到一个有着a号优惠券的格子,都必须要玩一个a分钟的游戏来领取这张优惠券。     每次只能向右或向下走。当走到右下角的时候,如果集齐10种优惠券就可以半价看电影...
阅读(254) 评论(0)

codeforce 332B Maximum Absurdity

原题链接 题意 一个长为N的序列,选择其中2个长为K的不相交区间,使两个区间和最大 题解 CF标签上写的好好的DP,做着做着发现就是前缀和思想嘛,哪里有DP?哪里有DP? #include using namespace std; typedef long long LL; const int maxn=2e5; LL sum[maxn+5]; LL prem...
阅读(103) 评论(0)

codeforce 429B Working out

原题地址 题意 给定一张N*M的图,图中每个点都有权值,一个人开始位于(1,1),目标是(n,m);一个人开始位于(n,1),目标是(1,m),不算两人路径交点的权值,求两人路径权值之和的最大值 要求:两人路径有且只有一个交点 题解 DP的简单变形吧 down_dp1[i][j]:人1从(i,j)出发到达(n,m)的路径和最大值; up_dp1[i][j]:人1到达(...
阅读(140) 评论(0)
30条 共2页1 2 下一页 尾页
    个人资料
    • 访问:5179次
    • 积分:338
    • 等级:
    • 排名:千里之外
    • 原创:30篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档