传送门 这道题显然可以用PAM做出来。 PAM可以算出以字符串的第ii个字符为结尾的回文子串的个数。我们将其存到一个数组l[n],再求一个前缀和就可以把字符串的前i个字符的前缀有多少个回文子串求出来。 然后,我们将PAM清空,倒着做一遍,就可以求出以第i个字符为左端点的回文子串个数r[i]。与它不相 ...
分类:
其他好文 时间:
2020-03-02 12:50:53
阅读次数:
54
题目链接 18年沈阳网赛的题,一直想补但一直鸽着,终于还是补上了 一棵树,点带权,支持两种操作: 1.深度d上的权值加上x 2.询问子树u下的权值和 对每个深度按结点数量分类,结点数小于$sqrt(n)$的为1类,其余的为2类 对于1类深度,修改时暴力修改每个结点的值,查询时用树状数组 对于2类深度 ...
分类:
编程语言 时间:
2020-03-01 21:30:05
阅读次数:
98
传送门:http://poj.org/problem?id=1958 汉诺塔:https://www.cnblogs.com/antineutrino/p/3334540.html 问题引入:这个在标准的三塔问题上又加了一维,我们先考虑三个塔是怎么计算的?可以具体地分成三个步骤: 1.假设A塔上有n ...
分类:
其他好文 时间:
2020-03-01 12:42:22
阅读次数:
63
ICPC North Central NA Contest 2017 部分题解 B. Pokemon Go Go 大意:用最短路径来抓住所有的稀有精灵,DFS求最短路 #include <bits/stdc++.h> #define mem(a) memset(a,0,sizeof(a)) #def ...
分类:
其他好文 时间:
2020-02-29 20:40:24
阅读次数:
190
大型补档计划 "题目链接" $f[i][j]$ 表示前 $i$ 天,手里有 $j$ 个股票挣得最多钱 买股票。枚举 $u include include using namespace std; const int N = 2005; int T, maxP, W, AP[N], BP[N], AS ...
C语言 memcmp #include <string.h> int memcmp(const void *s1, const void *s2, size_t n); 功能:比较s1和s2所指向内存区域的前n个字节参数: s1:内存首地址1 s2:内存首地址2 n:需比较的前n个字节 返回值: 相 ...
分类:
编程语言 时间:
2020-02-28 21:04:02
阅读次数:
76
乍一看好像是个DP,做着做着发现锅了…… 好吧,试试WLL。 首先用dp求出最长不下降子序列的长度(简单不再赘述) 问题2: 超级源点与所有f[i]=0的点的入口相连,边权为1。 超级汇点与所有f[i]=ans的点的出口相连,边权为inf。 连所有的边满足i<j,a[i]<=a[j],f[i]=f[ ...
分类:
其他好文 时间:
2020-02-28 17:12:28
阅读次数:
52
首先是单个字符,是sizeof(char),使用的ASCII转换为数字存储。 控制字符有特别含义,如转行, 这个其实就printf实现的功能,详细需要追踪printf函数的实现,串口打印。 1 #include "common.h" 2 #include <stdio.h> 3 #include < ...
分类:
其他好文 时间:
2020-02-26 17:10:15
阅读次数:
166
#define _CRT_SECURE_NO_WARNINGS#include<iostream>using namespace std;void mergeSort(int a[], int s, int e, int temp[]) { if (s < e) { int m = s + (e - ...
分类:
编程语言 时间:
2020-02-25 20:27:18
阅读次数:
75
D. Shortest and Longest LIS "原题" Problem Restatement 给出一个序列相邻的大小关系,构造相应长度满足大小关系的 排列 ,使得最长上升子序列最短或最长。 Solution 考虑到给出的是相邻的递增递减,我们会发现序列是由一段上坡一段下坡类似组合而成。而 ...
分类:
其他好文 时间:
2020-02-25 12:44:37
阅读次数:
65