rqnoj-105-核电站问题-dp】的更多相关文章

原题地址:http://www.rqnoj.cn/problem/105 解题思路: 状态表示: 数组dp[i][j]中的j拆成M位二进制(后缀B表示). 如:M=3时 dp[5][000B]表示第3,4,5都不放核物质的情况的总数.显然,dp[5][000B]=dp[5][001B]=dp[4][000B]+dp[4][100B].特殊的是dp[i][111B]=0. 初始状态: dp[0][000B]=dp[0][001B]=1,dp[0][i]=0(001B<i<=111B) 状态转移方…
题目链接:https://www.rqnoj.cn/problem/624 题意: 小明有奖学金啦!所以他要去买运动鞋. 总共有n款鞋,分别属于t个品牌. 每款鞋的价格为c[i],在小明心目中的价值为w[i]. 小明只有m元的奖学金. 小明同学有强迫症,每个品牌都要至少买一双,并且同一款不会买两双. 问你所买的鞋在小明心目中的价值之和最大为多少. 题解: 表示状态: dp[i][j][k][p] = max value i:考虑到第i个品牌 j:考虑到第i个品牌中的第j款鞋 k:当前花费 p:第…
题意:n个数中不能同时选连续m个或以上,问方案数. 解法:f[i][j]表示从前i个中选,到第i个已经连续选了j个.j!=0时,  =f[i-1][j-1] ; j=0时, =f[i-1][0~m-1] ; 优化1:f[i][m]存f[i-1][0~m-1],就不用多for一重. 1 #include<cstdio> 2 #include<cstdlib> 3 #include<cstring> 4 using namespace std; 5 6 long long…
题目大意:给出的m个字符串都有一个权值.用小写字母构造一个长度不超过n的字符串S,如果S包含子串s,则S获取s的权值.输出具有最大权值的最小字符串S. 题目分析:先建立AC自动机.定义状态dp(step,u)表示长度为step.在u节点上的最大权值.状态转移方程为:dp(step,u)=max(dp(step-1,v)+w(u)).其中,v为能到达u的前一个节点. 代码如下: # include<iostream> # include<cstdio> # include<qu…
Help Me Escape Time Limit:2000MS     Memory Limit:32768KB     64bit IO Format:%lld & %llu Submit Status Practice ZOJ 3640 Appoint description:  System Crawler  (2014-10-22) Description Background     If thou doest well, shalt thou not be accepted? an…
看到20的数据量很容易想到状压dp. 开1<<20大小的数组来记录状态,枚举n个糖包,将其放入不同状态中(类似01背包思想) 时间复杂度O(n*(2^20)). import java.util.Arrays; import java.util.Scanner; public class Main { static Scanner sc = new Scanner(System.in); static int[][] a = new int[105][25]; static int[] sta…
第一次没认真听,没听懂.(有点难) 第二次才搞懂,主要位运算太烦了!!! 位运算基础知识: 名称 符号 规则 按位与 & 全一则一,否则为零 按位或 | 有一则一,否则为零 按位取反 ~ 是零则一,是一则零 按位异或 ^ 不同则一,相同则零 移位 >>和<< 向右.向左移位 集合取并:A|B 集合取交:A&B 集合相减:A&~B 集合取反:^A 置位A |= 1 << bit清位A &= ~(1 << bit)测位(A &am…
题意:略 直接用记忆化搜索就行了 #include<cstdio> #include<iostream> using namespace std; int n,m; int map[105][105]; int len[105][105]={0}; int dp(int x,int y) { int max,temp; if(len[x][y]) return len[x][y]; max=0; if(x+1<n&&map[x][y]>map[x+1][…
http://poj.org/problem? id=1742 Description People in Silverland use coins.They have coins of value A1,A2,A3...An Silverland dollar.One day Tony opened his money-box and found there were some coins.He decided to buy a very nice watch in a nearby shop…
Day 0: 先到了丽都酒店. 看见北京八十中学生在发胸牌手册和T恤,领完之后开始分房间. 我和ryc一屋,lyd和ysq一屋,yzy和gzz分到了珀利酒店,老师尝试了半天把我们分到一个酒店,失败了. 遇到了王阿姨,ryc说她家孩子长得特别漂亮,于是这成了一个梗. 进房间,第一反应就是woc这为什么只有一个双人床,CCF为了拉近同学友(基)情怎么可以这样,给ysq他们打电话,发现他们也是,那ysq晚上就要感受被lyd支配的恐惧了233. 去试机,玩了会Emacs上的东西,有一个文字游戏之类的东西…
一看题就知道是动态规划,不过这要看下如何设置变化数组了 先分析这道题:兔子到达终点的时间时固定的,因此只需要考虑乌龟了,乌龟骑电车和骑自行车的时间,然后计算,因为中间有N个充电站,可以看做N个点(到起点的点),加上起点和终点则是N+2的位置,这时我们dp,判断到每个点的最小时间,结果也就是第N+2个点的最短时间 起点时间是0.这是必须的,然后往后面DP 到第i个,就让j从0循环到i-1,依次代表从j站一直开到i站,这样得到到达i站所需要 的最短时间. 最后比较到达第n+2站(终点)的时间与兔子所…
郑厂长系列故事--排兵布阵 Time Limit : 10000/5000ms (Java/Other) Memory Limit : 65535/32768K (Java/Other) Total Submission(s) : 9 Accepted Submission(s) : 1 Font: Times New Roman | Verdana | Georgia Font Size: ← → Problem Description 郑厂长不是正厂长 也不是副厂长 他根本就不是厂长 事实上…
Ministry Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 4761 Accepted: 1528 Special Judge Description Mr. F. wants to get a document be signed by a minister. A minister signs a document only if it is approved by his ministry. The ministry…
题目链接http://codevs.cn/problem/2464/ 题目描述 Description 很多人都知道玩麻将,当然也有人不知道,呵呵,不要紧,我在这里简要地介绍一下麻将规则: 普通麻将有砣.索.万三种类型的牌,每种牌有 1~9个数字,其中相同的牌 每个有四张,例如 1 砣~9 砣,1索~9 索,1 万~9 万各有 4 张,所以共 36*3=108张牌.胡牌时每人有 14 张牌,其中只要某人手里有若干句话(就是同种类型的牌连续三张或同种牌三张) ,另外再加上一对,即可胡牌.当然如果全…
区间(interval) 题目描述 zht有一个长度为n的排列P,现在zht想知道,有多少个由连续整数组成的区间[l,r][l,r]可以由PP中的两个区间[a,b],[c,d]拼出,其中1≤a≤b<c≤d≤n 例如P=[1,5,2,4,6,3,那么数字区间[5,6][5,6]可以由PP的区间[2,2][2,2]与[5,5][5,5]拼出.换句话说PP中这两个区间数字的并集为[l,r] 输入 第一行一个整数nn表示排列中数字个数. 第二行nn个数表示排列. 输出 一行一个正整数表示答案. 样例输入…
明确题意 等号左边是由'+'和'?'组成的算式,其中处于某个整数(即便这个整数只有一位)首位的'?'可以填入1-9中的某个数字,其余'?'可以填入0-9中的某个数字. SOURCE 这里未明确等号左边有几个整数(至少有一个).读题时我未能仔细理解这句话的含义,根据样例误认为有且仅有两个整数相加.另外,等号右边的非负整数,题目虽未明确是否有前导零,可以认为没有(不应该在这里纠结题意). 做题的第一步是读题,诚哉斯言! 解法 数位DP. 将等号右边的非负整数的数位,按从低位到高位的顺序从1开始编号.…
链接 问题描述 小Hi和小Ho在经历了螃蟹先生的任务之后被奖励了一次出国旅游的机会,于是他们来到了大洋彼岸的美国.美国人民的生活非常有意思,经常会有形形色色.奇奇怪怪的活动举办,这不,小Hi和小Ho刚刚下飞机,就赶上了当地的迷宫节活动.迷宫节里展览出来的迷宫都特别的有意思,但是小Ho却相中了一个其实并不怎么像迷宫的迷宫--因为这个迷宫的奖励非常丰富~ 于是小Ho找到了小Hi,让小Hi帮助他获取尽可能多的奖品,小Hi把手一伸道:"迷宫的介绍拿来!" 小Ho选择的迷宫是一个被称为"…
P2704 [NOI2001]炮兵阵地 没学状压DP的看一下 此题意思很简单,如下图,就是十字架上的不能有两个点放炮兵. 在做此题前,先做一下玉米田 玉米田题解 分析: 而m即一行的个数小于等于10,每个格子上只有防或不放两种情况 很自然就会想到状压DP 还有一点很重要: 要符合题目条件的 只有平原可以放炮兵. 所以还要匹配 炮兵放法与平原 的关系(一共要判断3种,PH,列列列,横横横). 如下是DP思考过程:(和玉米田差不多) 我们需要考虑定义,我们可以定义dp[i][j][k]表示到第i行状…
题目链接 分析:典型的01背包问题,设dp[i][j]为空间(也就是题面中的时间)是j的背包在装前i个物品(草药)所得的最大价值,v[i]为第i个物品的重量(采药的时间),w[i]为第i个物品(草药)的价值,则有: 当j>v[i]时,dp[i][j]=max{dp[i-1][j],dp[i-1][j-v[i]]+w[i]} 当j<=v[i]时,dp[i][j]=dp[i-1][j] 接下来,我们就来详细解析一下我们的前辈是怎样得到这个公式的.(知道的可以跳过) 假设我们现在有这样一组数据: 1…
题目描述 物流公司要把一批货物从码头\(A\)运到码头\(B\).由于货物量比较大,需要\(n\)天才能运完.货物运输过程中一般要转停好几个码头.物流公司通常会设计一条固定的运输路线,以便对整个运输过程实施严格的管理和跟踪.由于各种因素的存在,有的时候某个码头会无法装卸货物.这时候就必须修改运输路线,让货物能够按时到达目的地.但是修改路线是-件十分麻烦的事情,会带来额外的成本.因此物流公司希望能够订一个\(n\)天的运输计划,使得总成本尽可能地小. 输入输出格式 输入格式: 第一行是四个整数\(…
1086 背包问题 V2  基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题  收藏  关注 有N种物品,每种物品的数量为C1,C2......Cn.从中任选若干件放在容量为W的背包里,每种物品的体积为W1,W2......Wn(Wi为整数),与之相对应的价值为P1,P2......Pn(Pi为整数).求背包能够容纳的最大价值. Input 第1行,2个整数,N和W中间用空格隔开.N为物品的种类,W为背包的容量.(1 <= N <= 100,1 <= W…
1086 背包问题 V2  基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题  收藏  关注 有N种物品,每种物品的数量为C1,C2......Cn.从中任选若干件放在容量为W的背包里,每种物品的体积为W1,W2......Wn(Wi为整数),与之相对应的价值为P1,P2......Pn(Pi为整数).求背包能够容纳的最大价值. Input 第1行,2个整数,N和W中间用空格隔开.N为物品的种类,W为背包的容量.(1 <= N <= 100,1 <= W…
今天是赵和旭老师讲课(也是 zhx) 动态规划 利用最优化原理把多阶段过程转化为一系列单阶段问题,利用各阶段之间的关系,逐个求解(有点像分治?) 更具体的,假设我们可以计算出小问题的最优解,那么我们凭借此可以推出大问题的最优解,进而我们又可以推出更大问题的最优解.(要满足最优子结构) (从小问题答案推到大问题的答案) 而最小的问题也就是边界情况我们可以直接计算出答案来. 动态规划的状态 动态规划过程中,需要有状态表示和最优化值(方案值). 状态表示:是对当前子问题的解的局面集合的一种(充分的)描…
题目背景 uim神犇拿到了uoi的ra(镭牌)后,立刻拉着基友小A到了一家--餐馆,很低端的那种. uim指着墙上的价目表(太低级了没有菜单),说:"随便点". 题目描述 不过uim由于买了一些辅(e)辅(ro)书,口袋里只剩MM元(M \le 10000)(M≤10000). 餐馆虽低端,但是菜品种类不少,有NN种(N \le 100)(N≤100),第ii种卖a_iai​元(a_i \le 1000)(ai​≤1000).由于是很低端的餐馆,所以每种菜只有一份. 小A奉行"…
1545 找出第N个二进制字符串的第K位 #分治 题目链接 题意 给定正整数\(n(\leq 20)\)与\(k\),二进制串\(S_n\)形成规则有: \(S_1 = "0"\) 当\(i>1\)时,\(S_i = S_{i-1}+"1"+reverse(invert(S_{i-1}))\) 其中\(reverse(x)\)表示左右反转字符串x,\(invert(x)\)表示翻转x中的每一位(0->1,1->0) 现要返回\(S_n\)的第\(k…
可以知道整体石子的总和一定的,所以一个人的得分越高,另一个人的得分就越低.不管怎么取任意时刻游戏的状态都是原始序列的一段连续子序列(即被玩家取剩下的序列). 因此,用d(i,j)表示玩家A在i到j部分的最大和,在双方都采取最优策略的情况下,先手得分最大值. d[i][j] = sum[i][j] - min(dp(i + k, j), dp(i, j - k)); (1 <= k <= j - i + 1) #include<stdio.h> #include<stdlib.…
题意: 给你一个n,然后给你一个n*n的正方形w[i][j],你需要找到一个从(1,1)点走到(n,n)点的最短路径数量.而且这个路径必须按照y=x对称 题解: 我们把左上角的点当作(0,0)点,右下角的点当作(n,n)点 因为路径必须按照y=x堆成,那么我们可以按照y=x这一条线对折,然后正方形就变成了三角形,我们把对折成三角形后两点在同一位置的值相加,比如(1,1)和(n,n)对折后在一个位置,那么我们就让w[1][1]+=w[n][n](这里我们保留左上部分). 然后你按照左上部分从(0,…
代码+注释 1 //我感觉这道题最扯的就是我因为输入而TLE了半天,懵逼死了,想破脑袋也没想到因为输入TLE了半天 2 //题意:求区间内数字满足"奇数各数出现偶数次,偶数各数出现奇数次"的数字的个数. 3 //题解: 4 //dp[x][y]表示长度为x的时候0~9各出现的状态情况,因为可能有未出现的情况,如果这个y用二进制 5 //保存的话那么未出现的偶数可能会因为0而出现误判,所以应该多一个状态,就用三进制.0表示未出现, 6 //1表示出现了奇数次,2表示出现了偶数次. 7 /…
Computer Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 6378    Accepted Submission(s): 3211 Problem Description A school bought the first computer some time ago(so this computer's id is 1). Du…
Fence Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 4705   Accepted: 1489 Description A team of k (1 <= K <= 100) workers should paint a fence which contains N (1 <= N <= 16 000) planks numbered from 1 to N from left to right. E…