首页 > TAG信息列表 > 正着

dp练习

1.合唱队形 题目链接 LIS模板题,这道题只要正着求一遍LIS,倒着求一遍LIS,然后求max即可,注意因为求了两次LIS,一定会有一个人是被计算了两次的,所以在求max的时候要记得-1 使用O(n2)做法即可  

数组的塌陷演示

例:正着删 1    结果:    例:正着删 2    结果:     例:  倒着删除        结果:     例: 用while删除    结果:  

Java 正着输a-z,翻着输Z-A

public class MyOwn {     public static void main(String[] args) {         char c1 = 'a';         for(; c1 <= 'a' + 25; c1++) {             System.out.print(c1);         }         System.out.println();         char c

一文彻底搞懂切片

在正式讲解之前,我自己定义了一个正下标和负下标,便于理解概念。其对应关系如下: # -10,-9,-8,-7,-6,-5,-4,-3,-2,-1 a = (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) 切片操作的格式是 a[起始位置:截至位置:步长及方向] 区间是左闭右开,即 [ 起始位置,截至位置 )。每个位置的数值意义如下:

【dp每日一题】HDU 1176 免费馅饼

大意: 有n个馅饼在不同的时间会落到0到10的区间内,初始位置为5,每秒只能移动一米,问最多能接到多少馅饼 思路: 既可以正着写也可以反着写,正着写的话需要判断能否达到这个点,反着写就无所谓了 正着写: #include <bits/stdc++.h> using namespace std; const int N = 1e5 + 5; typedef lo

482. 合唱队形

正着求一遍\(LIS\),反着求一遍\(LIS\),最后拿总人数减去满足\(T_1<...<T_i>T_{i+1}>…>T_K(1<=i<=K)\)的人数即可。 const int N=110; int f[N],g[N]; int a[N]; int n; int main() { cin>>n; for(int i=1;i<=n;i++) cin>>a[i]; for(int i=1;i&