Description 印尼巴厘岛的公路上有许多的雕塑,我们来关注它的一条主干道。在这条主干道上一共有 N 座雕塑,为方便起见,我们把这些雕塑从 1 到 N 连续地进行标号,其中第 i 座雕塑的年龄是 Yi 年。为了使这条路的环境更加优美,政府想…
题面 题解 代码
#include<bits/stdc.h>using namespace std;
const int N 5e4 10;
const int INF 1e9;int n, t;
int w[N];
int q[N];
int f[N];bool check(int limit) {int hh 0, tt -1;q[tt] 0;for (int i 1; i < n; i) {while (hh < tt && q[hh…
Zane and Zanes crush have just decided to date! However, the girl is having a problem with her Physics final exam, and needs your help. There are n questions, numbered from 1 to n. Question i comes before question i 1 (1 ≤ i < n). Each of the qu…
题目
法1:DP
class Solution {public int maxSubArray(int[] nums) {if (nums null || nums.length 0) {return 0;}int n nums.length, res nums[0];int[] dp new int[n];dp[0] nums[0];for (int i 1; i < nums.length; i) {dp[i] Math.max(nums[i], d…
Description Many years ago , in Teddy’s hometown there was a man who was called “Bone Collector”. This man like to collect varies of bones , such as dog’s , cow’s , also he went to the grave … The bone collector had a big bag with a volume of V ,and …
Description
给出一个长度为n的序列a,定义f(x,n)x%a[n],f(x,i)x mod a[i]f(x mod a[i],i1) (1<i < n) 求最大的f(x,1) n<2*1e5,ai<1e13
Solution
我太菜了不会做,还是来翻译题解吧: 设x初始值mod a[1] mod a[2] mod a[3]……
题目
Given an array of scores that are non-negative integers. Player 1 picks one of the numbers from either end of the array followed by the player 2 and then player 1 and so on. Each time a player picks a number, that number will not be available for the…
原题传送门
代码
#include <bits/stdc.h>
using namespace std;
const int N310;
int s[N];
int f[N][N];
int main()
{int n;cin>>n;for(int i1;i<n;i) cin>>s[i];for(int i1;i<n;i) s[i]s[i-1]; //求前缀和for(int len2;len<n;len) //枚举每个区…
My thinking about dynamic programming
动态规划是一种以空间换时间的技巧,通常消耗的空间在接受范围内,但是速度却可以从指数 级下降到多项式的时间。在学习动态规划之前,需要先了解:
Overlapping SubproblemsOptimal Substr…
LCIS最长公共上升子序列
题解:https://blog.csdn.net/weixin_50624971/article/details/116892236
概括: 决策优化DP
考虑LCS可以写成 O ( n 4 ) O(n^4) O(n4) 的如果我们把状态设为 f [ i , j ] f[i,j] f[i,j] 表示考虑到 a [ i ] , b [ j ] a[i]…
【Q108】(md) 有序矩阵中第k小的元素 给定一个 n x n 矩阵,其中每行和每列元素均按升序排序,找到矩阵中第 k 小的元素。 请注意,它是排序后的第 k 小元素,而不是第 k 个不同的元素。 示例: matrix [ [ 1, 5, 9 …
AcWing1027. 方格取数设有 NN 的方格图,我们在其中的某些方格中填入正整数,而其它的方格中则放入数字0。如下图所示:某人从图中的左上角 A 出发,可以向下行走,也可以向右行走,直到到达右下角的 B 点。在走过…
You are climbing a stair case. It takes n steps to reach to the top. Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top? 难度系数: 容易 实现
int climbStairs(int n) {if (n < 2) {return n;} else {i…
突破口:只要发现DP对象是间歇M,便可发现本质是最大递增子序列。
代码如下:
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
long long dp[1005];
struct mt
{i…
突破口:把握好sum<0的意义
#include<cstdio>
#include<iostream>
using namespace std;
int a[100005];
int main()
{int T,n,i,kase;int max,sum,start,end,st,et; //max作为最终输出的答案,sum作为游标,去探测scanf(&quo…
Coach Pang loves his boyfriend Uncle Yang very much. Today is Uncle Yang’s birthday, Coach Pang wants to have a romantic candlelit dinner at Uncle Yang’s house and he has to arrive there in T minutes. There are N houses in their city numbered from 1 …
Ive sent Fang Fang around 201314 text messages in almost 5 years. Why cant she make sense of what I mean? But Jesus is here!" the priest intoned. Show me your messages." Fine, the first message is s1‘‘c" and the second one is s2‘‘ff&quo…
Problem Description Giving two strings and you should judge if they are matched.The first string contains lowercase letters and uppercase letters.The second string contains lowercase letters, uppercase letters, and special symbols: “.” and “”.. can ma…
题目
法1:二维DP
必须掌握!
class Solution {public int minPathSum(int[][] grid) {int m grid.length, n grid[0].length;int[][] matrix new int[m][n];matrix[0][0] grid[0][0];for (int i 1; i < n; i) {matrix[0][i] matrix[0][i - 1]…
题目
法1:二维DP
必须掌握!
class Solution {public int uniquePaths(int m, int n) {int[][] matrix new int[m][n];Arrays.fill(matrix[0], 1);for (int i 0; i < m; i) {matrix[i][0] 1;}for (int i 1; i < m; i) {for (int j 1; j <…
Problem DescriptionThere is a nmboard, a chess want to go to the position (n,m)from the position (1,1).The chess is able to go to position (x2,y2)from the position (x1,y1), only and if only x1,y1,x2,y2is satisfied that (x2−x1)2(y2−y1)25, x2>x1, y2>…
Problem DescriptionAs is known to all, in many cases, a word has two meanings. Such as “hehe”, which not only means “hehe”, but also means “excuse me”. Today, ?? is chating with MeiZi online, MeiZi sends a sentence A to ??. ?? is so smart that …
【LetMeFly】1289.下降路径最小和 II:通俗易懂地讲解O(n^2) O(1)的做法
力扣题目链接:https://leetcode.cn/problems/minimum-falling-path-sum-ii/
给你一个 n x n 整数矩阵 arr ,请你返回 非零偏移下降路径 数字和的最小值。
非零偏移下…
5408. 保险箱 - AcWing题库
#include <iostream>
#include <string>
#include <algorithm>
#include <cstring>
using namespace std;const int N 1e5 10;
string x, y;
int f[N][3], n;
int main() {cin >> n >> x >> y;memset(…
https://www.luogu.com.cn/problem/CF1762F
分析性质,就是我们选的数要么递增,要么递减(非严格)然后很明细是ds套dp, f i f_i fi 表示以 i i i 开头的答案然后考虑如何转移(ds套dp难点反而在转移而不是…
647. Palindromic Substrings Given a string, your task is to count how many palindromic substrings in this string. The substrings with different start indexes or end indexes are counted as different substrings even they consist of same characters. 算法思路…
DP一生之敌 learn from AC-Panda and codeforces’s Tutorial
思路 d p [ i ] dp[i] dp[i] 表示以 a [ i ] a[i] a[i] 结尾的方案数, s u m [ i ] sum[i] sum[i] 表示 ∑ j 1 i d p j \sum\limits_{j1}^idp_j j1∑idpj 。对于 d p [ i ] dp[i] dp[i] 当 …
题面
分析:
题目最终需要达到MEX位0,也就是从最开始的MEX变成0后m的最小值,可以设 d p i dp_i dpi表示当前MEX为 i i i时,m的最小值,那么就可以根据前一个状态推出后一个状态,也就是假如当前MEX是 i i …
首先连通块,所以点分治肯定是
Trick1 钦定选根的连通块dp
对于钦定选根的连通块dp,有一种常见思路
先对原树求其dfn序,按dfn序倒序求解
具体的,对于当前点 i i i(注意这里都是指dfn序),我们…
https://www.luogu.com.cn/problem/P9338
考虑暴力前 i i i 个分 j j j 段 f i , k f j − 1 , k − 1 g j , i f_{i,k}f_{j-1,k-1}g_{j,i} fi,kfj−1,k−1gj,i, O ( n 3 ) O(n^3) O(n3)
然后划分段数,段数显然越多越优,那么就上…
算法提高课整理
CSDN个人主页:更好的阅读体验 原题链接
题目描述
Joe觉得云朵很美,决定去山上的商店买一些云朵。
商店里有 n n n 朵云,云朵被编号为 1 , 2 , … , n 1,2,…,n 1,2,…,n,并且每朵云都有一个价值。
但是商店…
dp[i][j]表示的是当有i个A,j个B时,符合要求的字符串数。转移方程详情看注释。
参考博客:https://blog.csdn.net/chenshibo17/article/details/96455518
#include <bits/stdc.h>
#define ll long long
using namespace std;
const int…
http://cplusoj.com/d/senior/p/SS231017C
感觉可以分治某个区间 [ l , r ] [l,r] [l,r],且他们都是在下面 k k k 已经选的基础上
然后肯定要枚举最大值,最大值越长越好 Hint 1 Hint 2 f ( l , r , k ) f(l, r, k) f(l,r,k) 可以通过枚举 m i d mid…
不要62
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 41166 Accepted Submission(s): 15001
Problem Description 杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer)。 杭州交通…
前提:答案满足凸性
题目类似为 n n n 个里面选 m m m 个求某种代价,暴力二维dp复杂度大,但容易计算不限制选的次数。
由于不限制选的次数,所以给选一个东西给一个代价 v v v,然后判断最后选了多少个,再…
Game
Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Total Submission(s): 2007 Accepted Submission(s): 649
Problem Description Nowadays, there are more and more challenge game on TV such as ‘Girls, Rush Ahead’. No…
题目
法1:标准DP
class Solution {public int minFallingPathSum(int[][] matrix) {if (matrix.length 0 || matrix[0].length 0) {return 0;}int m matrix.length, n matrix[0].length;int[][] dp new int[m][n]; // 到达i,j的最小路径和int min Integer.M…
https://www.luogu.com.cn/problem/P6246
决策单调性
若 d p i dp_i dpi 由 j j j 转移,则 d p i 1 dp_{i1} dpi1 转移点 k k k 满足 k ≥ j k\ge j k≥j 发现决策点满足单调,但遍历的点不满足单调,不能用双指针,考虑…
CF632E Thief in a Shop 题解 前驱题目链接字面描述题面翻译输入输出格式输入格式:输出格式: 输入输出样例输入样例#1:输出样例#1:输入样例#2:输出样例#2:输入样例#3:输出样例#3: 思…
题目
Given an integer array with all positive numbers and no duplicates, find the number of possible combinations that add up to a positive integer target.
Example: nums [1, 2, 3] target 4 The possible combination ways are: (1, 1, 1, 1) (1, 1, 2) …
也许更好的阅读体验 D e s c r i p t i o n \mathcal{Description} Description n n n 个球排成一列,每个球都有自己的颜色,每个球的颜色都互不相同,且均在 [ 1 , n ] [1,n] [1,n]范围内,第 i i i 个球的颜色为 c i c_i ci…
1008 - Expectation of Rank
题目大意
一个 n ∗ n n*n n∗n 的矩阵在 m o d p mod\space p mod p 意义下随机生成,问矩阵的秩的期望为多少
解题思路
某一行要对秩产生贡献,那肯定与之前所有行之间都不存在线性相关
由此考虑dp, f i ,…
https://www.luogu.com.cn/problem/CF1175E
Trick 1
按照正常套路 d p i dp_i dpi 为到达 i i i (限制)最少多少条(答案),其实可以转化为 d p i dp_i dpi 用 i i i 条(限制)最远可以到…
http://cplusoj.com/d/senior/p/SS231017D
求本质不同子序列个数见 https://blog.csdn.net/zhangtingxiqwq/article/details/133885358
发现这就是交换 g g g 和 f i f_i fi 的奇偶性。
我们发现本质不同的 f f f 状态只有4种,我们可以基于这个建一个自动机…
Problem - E - Codeforces Sergey Semyonovich 是 N 市县的市长,他一直在思考如何进一步改善 Nkers 的生活。不幸的是,几乎所有可以做的事情都已经完成了,白天他已经没有更多的想法(他现在喜欢在晚上睡觉)。然而&#…
数据结构: 邻接矩阵,邻接表
1.图的存储方式:邻接矩阵,邻接表
1.稀疏图和稠密图
2.无向图: n n n 个点,最多 n ( n − 1 ) / 2 n(n-1)/2 n(n−1)/2 条边, 当 m m m 接近 n ( n − 1 ) / 2 …
用 j j j 个数表示 i i i 的方案数,考虑dp
转移考虑最小值是否为1
无限制
若为1,则转移到 f ( i 1 , j 1 ) f(i1, j1) f(i1,j1)不为1,则全部1,转移到 f ( i j , j ) f(ij, j) f(ij,j)
数之间不能重复
那么相当于每次整…
可以设置四维DP: dp[i,j,k,l]表示小渊走到( i, j ),小轩走到( k, l )时收获的最大好心值。 因为小渊和小轩都有两个方向走,所以dp[i,j,k,l]是从四种可能的状态转移过来的: dp[i,j,k,l]max(dp[i-1,j,k1,l],dp[i-1,j,k,l1],dp[i,j-1…
一.问题描述(中英文)
1.英文
Problem Statement: You are given a string S of length N consisting of 0 and 1. A string T of length N consisting of 0 and 1 is a good string if and only if it satisfies the following condition: There is ex…
https://atcoder.jp/contests/arc146/tasks/arc146_e
Trick1 超长序列从值域入手(判定转状态)
通过绝对值的条件,其实我们可以从小到大放每个数。
对于两个相邻的同样数 i i i,他们之间必须放 i 1 i1 i1
因此可以设计 d p…
第一步:找性质
每个人的期望步数只与总数量 m m m,总人数 n n n,自己数量 a i a_i ai 有关
第二步:转化(难点)
拆贡献:拆成每个人win的期望步数,然后求 ∑ E ( i ) \sum E(…
【LetMeFly】1155.掷骰子等于目标和的方法数:动态规划
力扣题目链接:https://leetcode.cn/problems/number-of-dice-rolls-with-target-sum/
这里有 n 个一样的骰子,每个骰子上都有 k 个面,分别标号为 1 到 k 。
给定三个整数 …
2. 01背包问题 - AcWing题库 n,vmap(int,input().split()) dp[[0 for i in range(v1)] for i in range(n1)] for i in range(1,n1): v_,wmap(int,input().split()) for j in range(v1): dp[i][j]dp[i-1][j] if j>v_: dp[i][j]max(dp[i]…