- 2024-10-24P1668 USACO04DEC Cleaning Shifts S 题解
P1668USACO04DECCleaningShiftsS-洛谷分析这道题最快的做法应该是贪心,但是线段树优化DP也可以做。首先看到此题,可以想到一个很暴力的区间DP:\(f[i][j]\)表示在\([i,j]\)时段内最少需要的奶牛数量。对于每头牛的空闲时段\([l,r]\),其每个子区间答案均为\(1\);对于
- 2024-10-10洛谷P2224产品加工(DP)
[HNOI2001]产品加工题目描述某加工厂有A、B两台机器,来加工的产品可以由其中任何一台机器完成,或者两台机器共同完成。由于受到机器性能和产品特性的限制,不同的机器加工同一产品所需的时间会不同,若同时由两台机器共同进行加工,所完成任务又会不同。某一天,加工厂接到\(n\)个
- 2024-07-31CF873B Balanced Substring
Abstract传送门本题定义平衡串为0和1数量相等的字符串,要求我们找出给定01串中含有的最大平衡串。Idea如果把1视为+1,0视为-1,那么一个01串是平衡串当且仅当其和值为0,那么问题就转变为寻找给定01串中和值为0的最长子段。首先做一个前缀和,a[i]表示前i项的
- 2024-06-10CSP历年复赛题-P5017 [NOIP2018 普及组] 摆渡车
原题链接:https://www.luogu.com.cn/problem/P5017题意解读:先将问题进行抽象、建模。设一条数轴,从左到右,每个点对应一个时刻,每个时刻可能有多个人到达,然后有若干个发车时刻,每两个发车时刻间隔必须>=m,每个人的等待时长就是到最近一个发车时刻的时间累加,计算所有人等待时间最小值。
- 2024-02-07CF1338B Edge Weight Assignment 题解
解题思路一种不需要树形dp的做法。因为是一颗无根树,所以我们不妨以重心为根。首先考虑边权最少的情况。可以发现这个时候对于任意两个叶子节点,我们可以分别考虑其到根节点的路径,这样对于求其路径的异或值是没有影响的,但是在这种情况下我们可以很方便的讨论其路径的奇偶性。令
- 2023-07-21学习日志
7.21今天继昨天的递归进一步复习,写了一道搜索与回溯的题Letter#include<bits/stdc++.h>usingnamespacestd;intn,m,maxt=0;charc[25][25];map<char,bool>p;boolf[25][25];constshortdx[]={0,0,-1,1};constshortdy[]={-1,1,0,0};voiddfs(intx,inty,intt)
- 2023-05-29poj 1948(搜索+剪枝)
解题思路:这道题看到数据量,想到应该搜索+剪枝应该可以过。。可是别人的A了,我的却超时了。。。我用了一个mark[a][b],表示前两条边长度分别为a和b时,是否已经处理过,如果是的话就直接跳出。。。剩下的就是一个比较简单的搜索过程了,代码不难写,但是确实超时不可避免。。#include<iostream>
- 2023-05-26HDU 1176 免费馅饼(简单动态规划)
传送门这道题是中文描述的,我相信大家都肯定能够看得懂(滑稽),思路上呢大概就是一个升级版的数塔(点我去看数塔)既然是动态规划问题所以首先肯定要先找出来状态转移方程,我找到的状态转移方程就是a[i][j]+=max(max(a[i+1][j+1],a[i+1][j]),a[i+1][j-1]),其中a[i][j]就是表示第i时刻在k位
- 2023-02-08最长增加子数组
子串要求一定要挨着12123432145678结果5#include<bits/stdc++.h>usingnamespacestd;//最长连续增加子串inta[100],dp[100],maxn=0;intmain()
- 2023-01-12DP
DP是什么就我而言,DP是需要做出最优选择的一种题目,而且是全局最优的选择DP有个性质,是相关性,就后面做的决策可以在之前做的决策上进行而且没有后效性数组的下标代表状态,
- 2022-12-30【题解】P1973 [NOI2011] NOI 嘉年华
yyc学长说是典题,就记一下。题意给出\(n\)个区间,试在丢弃一些区间后,把区间分成两部分,使得不存在同时被两部分中的区间覆盖的位置,求:最终包含区间数较小的部分的区间
- 2022-11-12通过有限差分求求解较复杂的微分方程及matlab仿真
目录一、理论基础二、核心程序三、测试结果一、理论基础 有限差分是形式为f(x+b)-f(x+a)的数学表达式。如果有限差分除以b-a,则得到
- 2022-08-2601 背包强化练习三题
##T1题目:UVA12563思路:首先跑一遍『恰好型01背包』,这个在我的背包学习笔记中提到了。memset(dp,-0x3f,sizeof(dp));dp[0]=0;intn,t;scanf("%d%d",&n,&t)