dp - HNU 13404 The Imp】的更多相关文章

The Imp Problem's Link: http://acm.hnu.cn/online/?action=problem&type=show&id=13404&courseid=0 Mean: n个物品,每个物品价值为v,价格为c,你只可以带一个物品离开. 有一个精灵,它可以施法让你购买后的物品价值变为0(未离开商店之前),精灵最多施k次法术. 你的目的是让自己获得最大收益,而小鬼的目的正好相反.如果你和精灵都采用最优策略,最后你可以盈利多少? analyse: 第一感觉是…
白天的时候,做了一个获取dmp文件的schema实验,特此记录一下. 参考文章:如何获取dmp文件的schema  -- by 我的烟灰缸 http://oradb.cc/2017/07/10/%E5%A6%82%E4%BD%95%E8%8E%B7%E5%8F%96dmp%E6%96%87%E4%BB%B6%E7%9A%84schema/ 示例: 第一步:导出hr用户下的数据信息 directory.dmp logfile.log Export: Release :: Copyright (c)…
题目分析: 这种乱七八糟的题目一看就是点分治,答案有单调性,所以还可以二分答案. 我们每次二分的时候考虑答案会不会大于等于某个值,注意到系数$k$是无意义的,因为我们可以通过转化使得$k=0$. 合并的过程相当于很多个向量,加起来后看斜率. 注意单个向量也要判定. 由于有了二分的答案$Ans$.判定变得简单多了,推一下. 令$(A,C)$是从一个点到重心的一个向量,$(B,D)$是从另一个点到重心的向量.其中$A$和$B$是重心到该点的路径权值和,$C$和$D$是经过的边数. $-k \leq…
传送门 $\sum k \leq 100000$虚树套路题 设$f_{i,0/1}$表示处理完$i$以及其所在子树的问题,且处理完后$i$所在子树内是否存在$1$个关键点满足它到$i$的路径上不存在任何点被封的最小代价. 转移考虑$i$是否是关键点以及是否封$i$号点. 注意判断相邻两个点同时是关键点的情况.同时需要注意:如果虚树上两个点不相邻,可以封这两个点之间的点. #include<bits/stdc++.h> //This code is written by Itst using n…
题意: 给你一个母串,多个模式串及其价值,求用模式串拼接成母串(不重叠不遗漏),能获得的最大价值. 分析: ac自动机中,在字典树上查找时,用dp,dp[i]拼成母串以i为结尾的子串,获得的最大价值,dp[i]=max(dp[i],dp[i-len]+val[tmp]).,len是模式串的长度,val[tmp]为其价值. #include <cstdio> #include <cstring> #include <cmath> #include <queue>…
挤挤更健康 Time Limit: 1000ms, Special Time Limit:2500ms, Memory Limit:65536KB Total submit users: 339, Accepted users: 216 Problem 10086 : No special judgement Problem description 用边长小于N的正方形方砖(注意,不要求所有的方砖大小相同,请看样例说明)不重叠地铺满N*N的正方形房间,最少要几块方砖. Input 第一行是一个整…
题意: 给你一个文本串,和一些模式串,每个模式串都有一个价值,让你选一些模式串来组成文本串,使获得的价值最大.每个模式串不止能用一次. 思路: 多重背包,枚举文本串的每个位置和模式串,把该模式串拼接在当前位置,看下一个位置是否能得到更优值.但是,存在很多模式串不能拼在当前位置的,无效状态.所以可以用Trie树来优化转移. 代码: #include <iostream> #include <cstdio> #include <cstring> #include <c…
题意: 你在网上下载东西,一个文件存储在一段或者多段里面,问怎么选择能在规定的流量内下载最多的文件数量.每段的大小一样. 思路: 习惯了做答案保存在DP数组里的题,做这种答案保存在下标里的题,转不过弯来.开始想过背包,但是一来内存不够,二来时间也不够. 其实是这样做的,dp[i][j][0/1]保存枚举到第i个,下载了j个,最后一个是否被下载的最小花费. 最后找花费没超过限制的最大值就好了. 最后值得注意的是,最后一段的时候,可能不会被p整除,不要算多了哦. 代码: #include <iost…
Equator Problem's Link: http://acm.hnu.cn/online/?action=problem&type=show&id=13248&courseid=0 Mean: 给你n个数,让你求n个数的最大环状子段和. analyse: 经典题型. 我们知道,环状最大子段和要么在[0...n-1]中,要么在两端. 第一种情况很好办,用最大子段和的普通求法O(n)扫一遍就行. 第二种情况:首先我们预处理出两个数组: zz[i]:表示从最左边第0个起,到i的最…
Road Trip Time Limit: 1000ms, Special Time Limit:2500ms, Memory Limit:65536KB Total submit users: 29, Accepted users: 29 Problem 12882 : No special judgement Problem description You are planning a road trip to visit your friends, each of whom live in…