"Link" 看到全是度数相关的计数就可以考虑Prufer序列。 一个点的度数就是其在Prufer序列中的出现次数$+1$,而一个Prufer序列的贡献就是其所有元素出现次数$+1$的乘积,我们可以把乘积拆开dp。 设$f_{x,i}$表示考虑前$x$个点,Prufer序列长度为$i$的答案之和。 ...
分类:
其他好文 时间:
2020-02-03 22:54:24
阅读次数:
135
面试题39:数组中出现次数超过一半的数字 题目描述 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1, 2, 3, 2, 2, 2, 5, 4, 2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。 问题分析 大家最容易想到的思路是 数字次 ...
分类:
编程语言 时间:
2020-01-31 20:36:59
阅读次数:
63
【题目描述】 给定一个非负整数数组,统计里面每一个数的出现次数。我们只统计到数组里最大的数。 假设 Fmax(Fmax<10000)Fmax(Fmax<10000)是数组里最大的数,那么我们只统计{0,1,2.....Fmax}{0,1,2.....Fmax}里每个数出现的次数。 【输入】 第一行n ...
分类:
其他好文 时间:
2020-01-30 22:33:39
阅读次数:
98
求大多数。题意是给一个数组,有一个数字出现次数超过了数组长度的一半,请求出这个数字。我给出几个不同解法。 1. 排序,然后直接找数组中间那个数字。 时间O(nlogn) 空间O(1) 1 /** 2 * @param {number[]} nums 3 * @return {number} 4 */ ...
分类:
其他好文 时间:
2020-01-28 09:20:17
阅读次数:
59
1 #include <iostream> 2 #include <map> 3 using namespace std; 4 int main() 5 { 6 map<int,int> m; 7 int n,v; 8 cin>>n; //这比如输入3 9 cout<<m[v]<<endl; 10 ...
分类:
其他好文 时间:
2020-01-26 20:56:30
阅读次数:
71
「SDOI2005」区间 "传送门" 记录每一个位置作为左端点和右端点的出现次数,然后直接考虑差分即可。 参考代码: ...
分类:
其他好文 时间:
2020-01-24 00:32:34
阅读次数:
93
「luogu4135」作诗 "传送门" 分块好题。 预处理出 $f[i][j]$ 表示 $i$ 号块到 $j$ 号块的答案,$num[i][k]$ 表示 $k$ 在前 $i$ 块的出现次数,暴力预处理,暴力查询,复杂度 $O(n \sqrt n)$ 参考代码: ...
分类:
其他好文 时间:
2020-01-24 00:26:39
阅读次数:
68
只出现一次的数字 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现 两次 。找出那个只出现了一次的元素。 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 示例 1: 多数元素 给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于 ? ...
分类:
其他好文 时间:
2020-01-23 09:51:12
阅读次数:
66
阿狸的打字机 首先建立fail树,考虑离线询问。考虑怎么用ACAM处理一个串在另一个串的出现次数, 可以给询问按照主串分类,对于每一个主串分别处理所有询问。某一个串在主串中出现,主串中位于这个串最后的那个位置跳fail必然可以跳到这个串。所以可以树上差分搞一下 大概没啥问题? 然后写了一发,就70了 ...
分类:
其他好文 时间:
2020-01-16 21:49:40
阅读次数:
68
1 const html=document.querySelector('html') 2 const htmlChild=html.children; 3 let obj={}; 4 function fn(children){ 5 for(let i of children){ 6 if(obj ...
分类:
Web程序 时间:
2020-01-13 23:56:34
阅读次数:
192