
牛客练习
一扁舟
这个作者很懒,什么都没留下…
展开
-
Newspaper Headline
题意:给两条字符串s1,s2。问你是否能用n条s1按顺序排成一条新的字符串,并从其中去掉任意个字符来得到s2,如果能,输出最小的n,否则输出-1;分析:先对字符串s1进行预处理index[i] -----字符i在s1中第一次出现的位置;dp[i][j] -----第i个下标后字符j第一次出现的位置;遍历s2 的每一个字符,如果存在s1中没有的字符,输出-1,pre记录s2前一个字符出...原创 2019-09-30 12:01:35 · 392 阅读 · 0 评论 -
点分治(树)
点分治,是处理树上路径的一个极好的工具重心:找到一个点,其所有的子树中最大的子树节点数最少,那么这个点就是这棵树的重心,1存储结构:伪链表。struct node{ int to,next,len;}t[2*maxn+5];void addedge(int u,int v,int l){ cnt ++; t[cnt].to = v; t[cnt].next = hea...原创 2019-10-03 15:19:04 · 232 阅读 · 0 评论 -
2019牛客国庆集训派对day1 -I 2019
无向图中边权是2019倍数的路径数;题目链接我这里面有一篇是求边权是3的倍数,见另外一篇文章,点这儿(【luogu P2634】聪聪可可)。思路:思路:dp[i][j]表示点 i 的子节点到点 i 的距离mod 2019 = j的路径个数。设一点为u,其子节点为v,u、v间的边权值为w。转移方程为:dp[u][j]+=dp[v][(j-w+2019)%2019];而结果ans += ...原创 2019-10-06 17:32:19 · 123 阅读 · 0 评论 -
p1004方格去数,P1005 矩阵取数游戏 (动态规划)
题目链接分析:这题,是四维动规的模板题,和P1006传纸条基本相似。我们考虑两个人同时走,就相当于数字三角形。状态转移方程为:f[i][j][k][l]=max(f[i-1][j][k-1][l],f[i-1][j][k][l-1],f[i][j-1][k-1][l],f[i][j-1][k][l-1])+a[i][j]+a[k][l];f[i][j][k][l]=max(f[i−1][...原创 2019-10-08 18:05:34 · 178 阅读 · 0 评论 -
高精度计算
#include <stdio.h>#include<iostream>#include <string.h>#include<stdlib.h>#include<algorithm>using namespace std;//基于C++的大整数运算//首先,为了方便后面运算,我们先定义一个结构体struct bign{...原创 2019-10-09 11:15:38 · 105 阅读 · 0 评论 -
Cantor(有理数)
原创 2019-10-09 11:49:48 · 373 阅读 · 0 评论