这可怜的分数 A 点点的圈圈 考场上强转的时候1ll写成了1l,60变28:sob: 将最小包含自己的圆当作父亲,跑一个简单的树形DP就可以求出答案,考虑如何找父亲 扫描线,将扫到的圆的上下面分别加到set里,新加一个点的时候找y坐标第一个比它大的半圆,如果这个半圆是上半圆,那一定是它父亲,否则就是 ...
分类:
其他好文 时间:
2021-02-04 12:07:29
阅读次数:
0
暴力朴素无优化写法: #include<bits/stdc++.h> using namespace std; const int maxn=1e3+5; int dp[maxn][maxn]; int v[maxn],w[maxn]; int main(){ int n,m;scanf("%d%d ...
分类:
其他好文 时间:
2021-02-04 12:02:33
阅读次数:
0
Aimee 很显然的状压dp $f_{i,j}$表示在i这个集合,最后停在了j时的最小长度 转移就行了 #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> using namespace std; int ...
分类:
其他好文 时间:
2021-02-02 11:22:43
阅读次数:
0
https://codeforces.com/contest/1476/problem/D 题意 给 \(n + 1\) 个点和它们之间连接关系, 两点之间是单向的, 每走过一条边, 所有的边反向, 问从某个点开始出发, 能走过的最长的路径是多少 思路 一开始以为要建图, 实际上算是线性dp \(用 ...
分类:
其他好文 时间:
2021-02-02 10:40:54
阅读次数:
0
题目 设一个n个节点的二叉树tree的中序遍历为(1,2,3,…,n),其中数字1,2,3,…,n为节点编号。 每个节点都有一个分数(均为正整数),记第i个节点的分数为$d_i$,tree及它的每个子树都有一个加分,任一棵子树subtree(也包含tree本身)的加分计算方法如下: subtree的 ...
分类:
其他好文 时间:
2021-02-01 12:24:58
阅读次数:
0
给定一个长度为 $n$ 个序列,第 i 个位置权值为 $a_i$,有 $k$ 次移动,每次移动往左或者往右移动一格,不能出边界,对于这样一个连续移动 k 次后得到的长度为 k+1 的位置序列,我们称为好序列,它的权值是经过的每一个位置的 $a_i$ 的和,多次经过需要累加。现在对所有起始位置,求所有... ...
分类:
其他好文 时间:
2021-01-30 12:16:33
阅读次数:
0
#define max(a,b) ((a)>(b))?(a):(b) int integerBreak(int n){ int dp[58]={0}, i, j; dp[1]=1; for(i=2; i<=n; i++){ for (j=1; j<=i/2; j++){ dp[i]= max( dp ...
分类:
其他好文 时间:
2021-01-29 11:57:46
阅读次数:
0
原题链接 dp[i]表示信息传递到第i个烽火台时花费的最少代价 dp[i]=min(dp[j])+a[i];i-m<=j<=i-1 单调队列优化 const int maxn=1e6+7; int a[maxn],n,m; int dp[maxn],q[maxn]; int main(){ n=re ...
分类:
其他好文 时间:
2021-01-21 10:59:48
阅读次数:
0
私以为很巧妙的一道计数题 (不会正经的dp做法) 题意:给一个长度为n,仅包含前m个小写字母的字符串S,求有多少个字符串由前m个小写字母构成的T,满足LCS(S,T) == n - 1 n <= 1e5,2 <= m <= 26 我们考虑枚举LCS,容易发现一定是S去掉某个字母得到的,又因为去掉连续 ...
分类:
其他好文 时间:
2021-01-14 11:23:28
阅读次数:
0
动态规划实际上就是将大问题分解为小问题,之后利用小问题的答案来推导大问题的答案 一般会有一个转移方程就像 P(i,j) = P(i+1,j-1)∩(Si==Sj)(此为最长回文子串的转移方程) 当大问题无限拆分就会化为初始的定义 动态规划问题有一个DP表用来存放结果以便后面直接运用表中的结果 1.D ...
分类:
其他好文 时间:
2021-01-14 11:17:53
阅读次数:
0