Luogu 2530 化工厂装箱员】的更多相关文章

Written with StackEdit. Description \(118\)号工厂是世界唯一秘密提炼锎的化工厂,由于提炼锎的难度非常高,技术不是十分完善,所以工厂生产的锎成品可能会有\(3\)种不同的纯度,\(A:100\%,B:1\%,C:0.01\%\),为了出售方便,必须把不同纯度的成品分开装箱,装箱员\(grant\)第\(1\)次顺序从流水线上取\(10\)个成品(如果一共不足\(10\)个,则全部取出),以后每一次把手中某种纯度的成品放进相应的箱子,然后再从流水线上顺序取一…
P2530 [SHOI2001]化工厂装箱员 题目描述 118号工厂是世界唯一秘密提炼锎的化工厂,由于提炼锎的难度非常高,技术不是十分完善,所以工厂生产的锎成品可能会有3种不同的纯度,A:100%,B:1%,C:0.01%,为了出售方便,必须把不同纯度的成品分开装箱,装箱员grant第1次顺序从流水线上取10个成品(如果一共不足10个,则全部取出),以后每一次把手中某种纯度的成品放进相应的箱子,然后再从流水线上顺序取一些成品,使手中保持10个成品(如果把剩下的全部取出不足10个,则全部取出),如…
题目描述 118号工厂是世界唯一秘密提炼锎的化工厂,由于提炼锎的难度非常高,技术不是十分完善,所以工厂生产的锎成品可能会有3种不同的纯度,A:100%,B:1%,C:0.01%,为了出售方便,必须把不同纯度的成品分开装箱,装箱员grant第1次顺序从流水线上取10个成品(如果一共不足10个,则全部取出),以后每一次把手中某种纯度的成品放进相应的箱子,然后再从流水线上顺序取一些成品,使手中保持10个成品(如果把剩下的全部取出不足10个,则全部取出),如果所有的成品都装进了箱子,那么grant的…
题目描述 118号工厂是世界唯一秘密提炼锎的化工厂,由于提炼锎的难度非常高,技术不是十分完善,所以工厂生产的锎成品可能会有3种不同的纯度,A:100%,B:1%,C:0.01%,为了出售方便,必须把不同纯度的成品分开装箱,装箱员grant第1次顺序从流水线上取10个成品(如果一共不足10个,则全部取出),以后每一次把手中某种纯度的成品放进相应的箱子,然后再从流水线上顺序取一些成品,使手中保持10个成品(如果把剩下的全部取出不足10个,则全部取出),如果所有的成品都装进了箱子,那么grant的…
题目描述 118号工厂是世界唯一秘密提炼锎的化工厂,由于提炼锎的难度非常高,技术不是十分完善,所以工厂生产的锎成品可能会有3种不同的纯度,A:100%,B:1%,C:0.01%,为了出售方便,必须把不同纯度的成品分开装箱,装箱员grant第1次顺序从流水线上取10个成品(如果一共不足10个,则全部取出),以后每一次把手中某种纯度的成品放进相应的箱子,然后再从流水线上顺序取一些成品,使手中保持10个成品(如果把剩下的全部取出不足10个,则全部取出),如果所有的成品都装进了箱子,那么grant的…
118号工厂是世界唯一秘密提炼锎的化工厂,由于提炼锎的难度非常高,技术不是十分完善,所以工厂生产的锎成品可能会有3种不同的纯度,A:100%,B:1%,C:0.01%,为了出售方便,必须把不同纯度的成品分开装箱,装箱员grant第1次顺序从流水线上取10个成品(如果一共不足10个,则全部取出),以后每一次把手中某种纯度的成品放进相应的箱子,然后再从流水线上顺序取一些成品,使手中保持10个成品(如果把剩下的全部取出不足10个,则全部取出),如果所有的成品都装进了箱子,那么grant的任务就完成…
题目描述 118号工厂是世界唯一秘密提炼锎的化工厂,由于提炼锎的难度非常高,技术不是十分完善,所以工厂生产的锎成品可能会有3种不同的纯度,A:100%,B:1%,C:0.01%,为了出售方便,必须把不同纯度的成品分开装箱,装箱员grant第1次顺序从流水线上取10个成品(如果一共不足10个,则全部取出),以后每一次把手中某种纯度的成品放进相应的箱子,然后再从流水线上顺序取一些成品,使手中保持10个成品(如果把剩下的全部取出不足10个,则全部取出),如果所有的成品都装进了箱子,那么grant的任务…
\(\\\) \(Description\) 传送带上按顺序传过来\(N\)个物品,一个有\(A,B,C\)三类. 每次装箱员手里只能至多拿十个,然后将手中三类物品中的一类装箱,才能接着拿或接着装箱,求完成整个序列的最少装箱次数. \(N\in [1,100]\) \(\\\) \(Solution\) 这数据范围不是搜索乱搞 \(DP\).设\(f[s][i][j][k]\)表示,当前已经取走了前\(s\)个,\(A\)类手里有\(i\)个,\(B\)类手里有\(j\)个,\(C\)类手里有\…
题目:https://www.luogu.org/problemnew/show/P2530 dp或搜索. dp做法就是 当前值+1 转移到 当前某一维为0.位置前进了c位 的地方.但没写. 写了搜索的方法.细节众多,而且RE地莫名其妙! 搜索要注意记忆化. 特别奇怪的细节:代码中用注释(d数组)代替t1 t2 t3的话就会WA. 子函数中传参如果写成c[ ],就是不确定大小,于是不能用memcpy了. AC代码: #include<iostream> #include<cstdio&g…
题目链接 不知道做出这道题是我能力的一个提升还是能力的回归. DP.设f[i][j][k][l]是已经取了i个产品,现在手里还拿着j件A,k件B,l件C,最小的操作数. 然后状转方程乱搞啊 #include<cstring> #include<cstdlib> #include<cstdio> #include<cctype> #include<algorithm> using namespace std; inline long long re…
题目:https://www.luogu.org/problemnew/show/P2530 太弱了不会用DP,于是暴搜: 每次传进一个数组c记录当前状态各种物品有多少个,枚举取哪种物品,返回最小值,外加记忆化: 因为各种愚蠢小错误WA了好久. 代码如下: #include<iostream> #include<cstdio> #include<cstring> using namespace std; ],a[],f[][][][],inf=; char dc; in…
题面 题外话:从零开始的DP学习系列之壹(我真的不是在装弱,我DP真的就这么烂TAT) 从lyd那里学到了一点DP的小技巧,在设状态时可以先假装自己在做搜索,往一个函数里传了一些参数,然后把这些参数抓出来放在状态里就好了=.= 设$dp[i][j][k][h]$表示处理完前$i$个物品,$A$还剩下$j$个,$B$还剩下$k$个,$C$还剩下$h$个的最小次数,然后枚举三种产品的数量,在三个加起来不超过$10$的情况下转移. #include<cstdio> #include<cstri…
————传送:洛谷P2530 这道题目还是挺简单的,状态也容易想到. 数据范围非常的小,所以即便是很多维度,复杂度也完全可以接受.定义状态:dp[i][a][b][c]为手上的货物拿到第i个时三种物品分别有a, b, c个所用的最少次数. 状态转移就暴力枚举是放下a,b,c中的哪一个. 只不过需要特判一下n<10的情况.//再一次对自己丑陋的代码有点接受无能…… #include <bits/stdc++.h> using namespace std; #define maxn 102…
题形:DP 题意:A,B,C三种物品,一共N个,顺序摆放,按顺序拿.每次手上最多能拿10个物品,然后可以将某个类别的物品分类放好,再从剩下的拿,补全10个.问最少放几次,可以把所有物品分类好. 思路: 第一次见这种DP.……感觉应该是宽搜求最短路吧?好奇怪 dp[i][a][b][c] 表示 拿到第i个物品,手上剩A物品a个,B物品b个,C物品c个,这个状态时,所用的最少的次数. 假设我们这次拿A,则 dp[i+a] [sum['A'][i+a]-sum['A'][i]] [b+sum['B']…
问题描述 LG2530 题解 设\(opt[i][a][b][c][d]\)代表装到第\(i\)个后,第\(1,2,3\)手上分别还剩\(a,b,c\)个的最小操作数. 记忆化搜索即可. 启示:如果状态没想法,可以先写爆搜,确定状态. \(\mathrm{Code}\) #include<bits/stdc++.h> using namespace std; void read(int &x){ x=0;char ch=1;int fh; while(ch!='-'&&…
化工场装箱员 https://www.luogu.org/problem/show?pid=2530 118号工厂是世界唯一秘密提炼锎的化工厂,由于提炼锎的难度非常高,技术不是十分完善,所以工厂生产的锎成品可能会有3种不同的纯 度,A:100%,B:1%,C:0.01%,为了出售方便,必须把不同纯度的成品分开装箱,装箱员grant第1次顺序从流水线上取10个成品(如果一 共不足10个,则全部取出),以后每一次把手中某种纯度的成品放进相应的箱子,然后再从流水线上顺序取一些成品,使手中保持10个成品…
https://www.luogu.org/problemnew/show/P1314 满足单调性 所以,二分W,进行检验 #include <iostream> #include <cstdio> #include <cmath> #include <algorithm> using namespace std; ; #define LL long long #define oo 999999999999 #define gc getchar() int…
目录 笔记整理 计划 要学的东西 缺省源 要做的题 搜索 高斯消元 矩阵 排列组合 2019.7.9 2019.7.10 kmp ac自动机 2019.7.11 2019.7.15 笔记整理 1.同余and乘法逆元学习笔记 2.排列组合学习笔记 3.字符串Hash学习笔记 4.树状数组学习笔记 5.线段树学习笔记 6.ST表学习笔记 7.树形DP学习笔记 8.位运算学习笔记 9.二分答案学习笔记 还没写 ,咕咕咕 10.区间dp学习笔记 待更新例题 11.背包问题 12.STL学习笔记 13.字…
T1.引爆炸弹(bomb) N个炸弹构成一棵树,引爆一颗叶节点,会一直引爆到根节点.每颗炸弹有一个价值,求引爆k个炸弹的最大价值. 既然是一棵树,那么自然想到dp.所以先树形dp了一遍(由于可能出现多个根节点所以要预处理).然后考虑到一个节点的最大价值的路径极有可能和另一路径重合导致重复,所以引入标记数组v[i],根据贪心思想,排排序取k个就好了. T2.取石子(stone) 一圈石子,各有分数,得分判断如下: 然后可以贪心,证明取一块或两块权值最大的石头是最优的. 现取lzw大神证明如下: 假…
引爆炸弹 贪心 [问题描述] 有 n 个炸弹,有些炸弹牵了一根单向引线(也就是说引线只有在这一端能被炸弹点燃),只要引爆了这个炸弹,用引线连接的下一个炸弹也会爆炸.每个炸弹还有个得分,当这个炸弹被引爆后就能得到相应得分.现在要你引爆 k 个炸弹,使得得分最大. [输入] 第一行两个整数 n.k. 接下来的 n 行,每行两个整数 a[i].b[i].a[i]表示这个炸弹用引线连接的下一个炸弹,如果a[i]为 0,则表示这个炸弹没有连接引线.b[i]表示这个炸弹的得分. [输出] 最大得分. [数据…
一.资源问题 T1 机器分配 已知条件:每家公司分配x台机器的盈利 令f[i][j]表示前i公司分配j台机器的最优解 转移:f[i][j]=max(f[i-1][j-k]+w[i][k]) 初始化:f[1][i]=w[1][i] 枚举第i个公司分配k台(直接利用已知条件),那前i-1个公司分配j-k台 T5 化工厂装箱员 一段包含A.B.C的排列,区间从左往右扫,每次区间包含10个元素,每次将区间内所有的A或B或C删除,区间再往右扩张至10个元素,问最小删除次数 令f[d][a][b][c]表示…
1.        资源问题1-----机器分配问题F[I,j]:=max(f[i-1,k]+w[i,j-k]) 2.        资源问题2------01背包问题F[I,j]:=max(f[i-1,j-v]+w,f[i-1,j]); 3.        线性动态规划1-----朴素最长非降子序列F:=max{f[j]+1} 4.        剖分问题1-----石子合并F[i,j]:=min(f[i,k]+f[k+1,j]+sum[i,j]); 5.        剖分问题2-----多…
1.        资源问题1 -----机器分配问题 F[I,j]:=max(f[i-1,k]+w[i,j-k]) 2.        资源问题2 ------01背包问题   F[I,j]:=max(f[i-1,j-v]+w,f[i-1,j]); 3.        线性动态规划1 -----朴素最长非降子序列   F:=max{f[j]+1} 4.        剖分问题1 -----石子合并 F[i,j]:=min(f[i,k]+f[k+1,j]+sum[i,j]); 5.       …
此主要讨论图像处理与分析.虽然计算机视觉部分的有些内容比如特 征提取等也可以归结到图像分析中来,但鉴于它们与计算机视觉的紧密联系,以 及它们的出处,没有把它们纳入到图像处理与分析中来.同样,这里面也有一些 也可以划归到计算机视觉中去.这都不重要,只要知道有这么个方法,能为自己 所用,或者从中得到灵感,这就够了. 8. Edge Detection 边缘检测也是图像处理中的一个基本任务.传统的边缘检测方法有基于梯度 算子,尤其是 Sobel 算子,以及经典的 Canny 边缘检测.到现在,Cann…
Luogu 1314 [NOIP2011]聪明的质检员 (二分) Description 小 T 是一名质量监督员,最近负责检验一批矿产的质量.这批矿产共有n个矿石,从 1 到n逐一编号,每个矿石都有自己的重量wi以及价值vi.检验矿产的流程是: 给定 m个区间[Li,Ri]: 选出一个参数W: 对于一个区间[Li,Ri],计算矿石在这个区间上的检验值Yi: \[Y_i= \sum_{j} 1×\sum _{j}v_j,j \in [L_i,R_i],W_j>=W\] 这批矿产的检验结果Y为各个…
[luogu P3195] [HNOI2008]玩具装箱TOY 题目描述 P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京.他使用自己的压缩器进行压缩,其可以将任意物品变成一堆,再放到一种特殊的一维容器中.P教授有编号为1...N的N件玩具,第i件玩具经过压缩后变成一维长度为Ci.为了方便整理,P教授要求在一个一维容器中的玩具编号是连续的.同时如果一个一维容器中有多个玩具,那么两件玩具之间要加入一个单位长度的填充物,形式地说如果将第i件玩具到第j个玩具放到一个容器中,那么容…
------- android培训.java培训.期待与您交流! ---------- 首先来看一段代码: Integer x = new Integer(4); Integer y = 4; 在JDK1.5版本后,以上两行代码都能编译通过,那是因为JDK1.5后加入新特性,自动装箱. 第一句代码是正常的创建对象方法,创建了一个Integer包装类对象. 而第二句中,当左边的Interger类型变量指向右边的int基本类型数据时,右边的基本数据类型会自动装箱成Integer对象,即隐式执行了ne…
---------- android培训.java培训.期待与您交流! ---------- 一.静态导入 1.import和import static区别: (1)import 是导入一个类或某个包中所有的类. (2)import static是导入一个类中的某个静态方法或所有的静态方法. 注:在调用静态导入的类的静态方法时,可以不用再写类名.如Arrays.sort(int[])可以直接写sort(int[]); 2.静态导入的写法: (1)import static java.util.A…
------- android培训.java培训.期待与您交流! ---------- 基本数据类型包装类: byte Byte short Short int Integer char Character boolean Boolean float Float long Long double Double 基本数据类型对象包装类的最常见作用,就是用于基本数据类型和字符串类型之间做转换.  基本数据类型转成字符串:      基本数据类型+""     基本数据类型.toString…
------- android培训.java培训.期待与您交流! ---------- 装箱:把基本数据类型装成java类(被托管?).         拆箱:把java类拆成基本数据类型(取消托管?).         java新版本增加了自动装箱拆箱的特性,使得java基本类和基本数据类型可以无需转换直接参与计算.如:             Integer iObj = 3 //自动装箱.             system.out.println(iObj + 12);//自动拆箱.…