DP
文章平均质量分 78
C202207xiaofang
保加利亚希望中学附属光明小学优秀毕业生
展开
-
To_Heart—题解——CF1632E2
我们一般称做出这种题的人为:神仙!原创 2022-07-14 21:28:02 · 129 阅读 · 0 评论 -
To_Heart—题解——CF1016F
good 题!原创 2022-07-14 16:58:28 · 152 阅读 · 0 评论 -
To_Heart—题解——[COCI2021-2022#1] Volontiranje
前置芝士LIS 的 nlog(n)nlog(n)nlog(n) 算法也就是说您可以去看看这道博客题解长度直接求就好了,现在考虑怎么求方案数。我们把题目所给的序列中的每一个元素按照下标和值表示成一个点对,然后建立平面直角坐标系(xxx 为下标,yyy 为值,这里以样例 333 举例):我们发现,一个上升子序列反应到图上是由 xxx,yyy 均递增的点组成的,且任意组 xxx 递增,yyy 递减的点一定不是上升子序列。我们考虑从 x=1x=1x=1 开始,将这些点划分成多组 xxx 递增,yyy原创 2021-12-28 14:06:26 · 704 阅读 · 1 评论 -
To_Heart—题解——操作
简单题意有n堆石子,每堆石子都有一定的数量,第i堆石子的数量用Ai表示。任意两堆石子均可合并,一堆石子也可以分成两堆非空的石子。 一次合并或一次分裂都算一次操作。经过若干次操作以后,石子还剩m堆,告诉你m堆石子的数量Bi,问至少经历了几次操作。题解首先看一下数据范围,发现n,m均小于10,相加也不会超过20,所以考虑状压。然后我们可以发现一个性质:对于两个元素,先将它进行合并之后一定不会比它分解更劣。举个例子:现有A1,A2A_1,A_2A1,A2两个元素,想用它来并出B1,B2,B3B_1,原创 2021-07-19 22:19:09 · 126 阅读 · 0 评论 -
To_Heart—题解——BZOJ1261
目录题目题解思路代码题目题目链接题解思路搜索。对于任何一个区间[l,r],枚举其中的每一个点i,将 l~ i-1看为左子树,i+1 ~ r 看为右子数,再递归找最小的即可。代码#include<bits/stdc++.h>using namespace std;#define db double#define ll long longint n;db k,c,sum=0;db a[35];db dp[105][105][105];const db INF=1000原创 2020-12-15 14:04:11 · 121 阅读 · 1 评论 -
To_Heart—题解——「泉州一中基地赛20180519」第三题
目录描述题目描述输入格式输出格式样例样例 1 输入样例 1 输出样例 2 输入样例 2 输出题解题解1.a[i]==12.a[i]==2代码:描述题目描述小 A 有一个长度为 nnn 的序列 aaa,满足 aaa 中的所有元素都是 111 或 222。你想要篡改这个序列。你可以任意选择原序列的一段区间 [l,r][l,r][l,r],并将 al,al+1,⋯ ,ara_l, a_{l+1},\cdots, a_ral,al+1,⋯,ar 翻转。为了不被发现,你只能执行该操作至多一次。你希望最原创 2020-11-05 23:14:47 · 166 阅读 · 1 评论 -
To_Heart—题解——JLOI2011飞行路线
题目描述Alice和Bob现在要乘飞机旅行,他们选择了一家相对便宜的航空公司。该航空公司一共在n个城市设有业务,设这些城市分别标记为0到n-1,一共有m种航线,每种航线连接两个城市,并且航线有一定的价格。Alice和Bob现在要从一个城市沿着航线到达另一个城市,途中可以进行转机。航空公司对他们这次旅行也推出优惠,他们可以免费在最多k种航线上搭乘飞机。那么Alice和Bob这次出行最少花费多少?输入格式数据的第一行有三个整数,n,m,k,分别表示城市数,航线数和免费乘坐次数。第二行有两个整数,s,t,原创 2020-10-07 19:19:30 · 229 阅读 · 0 评论 -
To_Heart—题解——Usaco2018 DecTeamwork
题目描述题目描述在Farmer John最喜欢的节日里,他想要给他的朋友们赠送一些礼物。由于他并不擅长包装礼物,他想要获得他的奶牛们的帮助。你可能能够想到,奶牛们本身也不是很擅长包装礼物,而Farmer John即将得到这一教训。FarmerJohn的N头奶牛(1≤N≤104)排成一行,方便起见依次编号为1…N。奶牛i的包装礼物的技能水平为si。她们的技能水平可能参差不齐,所以FJ决定把她的奶牛们分成小组。每一组可以包含任意不超过K头的连续的奶牛(1≤K≤103),并且一头奶牛不能属于多于一个小原创 2020-10-07 18:34:46 · 233 阅读 · 0 评论 -
To_Heart—题解——CSP-J2019 纪念品
题目:小伟突然获得一种超能力,他知道未来 T 天 N 种纪念品每天的价格。某个纪念品 的价格是指购买一个该纪念品所需的金币数量,以及卖出一个该纪念品换回的金币数量。每天,小伟可以进行以下两种交易无限次:任选一个纪念品,若手上有足够金币,以当日价格购买该纪念品;卖出持有的任意一个纪念品,以当日价格换回金币。每天卖出纪念品换回的金币可以立即用于购买纪念品,当日购买的纪念品也可以当日卖出换回金币。当然,一直持有纪念品也是可以的。T 天之后,小伟的超能力消失。因此他一定会在第 T 天卖出所有纪念品换回金币原创 2020-09-23 14:08:17 · 612 阅读 · 0 评论 -
To_Heart—题解——分离与合体
题目链接#include<cstdio>#include<algorithm>using namespace std;int dp[305][305]={},jojo[305][305];int t,kk;int a[305];void DFS(int x,int y,int toto){ //x左标记,y为右标记,toto表示目前你回溯到的层次 if(x>=y) //左标记在右标记右边,自然不成立 (剪枝) return ; if(toto原创 2020-07-19 20:19:52 · 242 阅读 · 1 评论 -
To_Heart—题解——戳西瓜
题目描述有 n 个西瓜,编号为0 到 n-1,每个西瓜上都标有一个数字,这些数字存在数组 nums 中。现在要求你戳破所有的西瓜。每当你戳破一个西瓜 i 时,你可以获得 nums[left] *nums[i] *nums[right] 个硬币。 这里的 left 和 right 代表和 i 相邻的两个西瓜的序号。注意当你戳破了西瓜 i 后,西瓜 left 和西瓜 right 就变成了相邻的西瓜。求所能获得硬币的最大数量。输入格式共两行。第一行:一个正整数n,代表西瓜个数。第二行:共n原创 2020-07-18 21:25:58 · 418 阅读 · 2 评论 -
浅谈最长上升子序列(O(n*logn)算法)
这才是大佬的博客实在看不懂看看这个。。。今天GM讲了最长上升子序列的logn*n算法,但没讲思路。。。我看了篇博客,发现——说的有道理!!!首先,举例子:a[7]={1,2,4,3,6,7,5}(假设以1开头)很明显,LIS=5;那么我们开个b数组玩玩然后令 i = 1 to 9 逐个考察这个序列;用len表示b数组的个数;b[1]=a[i]=1;那么目前为止,LIS=1,结尾最小是1;继续:因为a[i]>b[len],所以说:b[++len]=a[i]:(a[2]>b[原创 2020-06-24 13:04:27 · 322 阅读 · 2 评论