随笔分类 -  题库

摘要:HDU2196 树的直径:树上最远两点(叶子结点)的距离。 方法一:暴力求解,从每个点开始遍历图,可以得到每个点v所在的最长路径max1和次长路径max2,注意的是最长路径和次长路径除了点v没有其他公共结点。如下图所示,经过点A的最长路径应该是下图左所示的路径,而非下图右所示的路径,通过A的最长路径 阅读全文
posted @ 2020-05-04 16:29 刘子闻 阅读(162) 评论(1) 推荐(0)
摘要:P2016 战略游戏 思路 因为是一棵树,所以对于每个节点,我们都把它当成根节点处理$\to$树形dp!!! 注意,某个士兵在一个结点上时,与该结点相连的所有边将都可以被瞭望到。 定义状态$dp[u][0/1]$表示u这个节点不放/放士兵 根据题意,如果当前节点不放置士兵,那么它的子节点必须 全部 阅读全文
posted @ 2020-04-28 21:02 刘子闻 阅读(108) 评论(0) 推荐(0)
摘要:1、暴力:10~20pts,复杂度 \(O(n^4)\),只能解决链 暴力很容易就会了。 因为只解决链,所以不用建树,用一个数组存就可以了,编号为 ii 的祖先恰好是$i-1$ ,也就是说本身编号就是顺序的 先套一重 for 枚举$i$ ,代表从根节点走到了 $i$号节点。由于要计算 $1-i$中究 阅读全文
posted @ 2020-04-28 20:54 刘子闻 阅读(148) 评论(0) 推荐(0)
摘要:P1352 没有上司的舞会 【题型】树形dp AC代码【1】 思路 见代码 阅读全文
posted @ 2020-04-26 20:09 刘子闻 阅读(132) 评论(0) 推荐(0)
摘要:集训Day 2 2020.3.1 还是数论复习 上节课作业 1.酒桶移动 三分! 【此处期待题解】 复杂度$O(n\log n)$ 2.POJ2142:The Balanc 有一天平和两种数量无限的砝码(重为$a$和$b$),天平左右都可以放砝码,称质量为$c$ 的物品,要求: 放置的砝码数量尽量少 阅读全文
posted @ 2020-03-01 21:49 刘子闻 阅读(337) 评论(0) 推荐(0)
摘要:[BZOJ4152]The Captain 题目描述 阅读全文
posted @ 2020-02-16 11:25 刘子闻 阅读(92) 评论(0) 推荐(0)
摘要:目录 0 前导知识 0.1 1 哈希 1.1 哈希入门 1.2 哈希冲突 1.3 双哈希 2 KMP 基本原理 next数组 代码实现 3 Trie 4 自动机 4.1 Manecher 4.2 序列自动机 4.3 AC自动机 阅读全文
posted @ 2020-02-06 18:38 刘子闻 阅读(119) 评论(0) 推荐(0)
摘要:本博客已转存 详情请去到图论专题 链式前向星与vector 基本实现 #include <cstdio> struct node{ int to,next,val; }edge[N]; void add(int x,int y,int val1){ e[cnt]=(node){y,head[x],v 阅读全文
posted @ 2020-01-18 09:36 刘子闻 阅读(105) 评论(0) 推荐(0)
摘要:知识点目录 1 模拟 模拟是对真实事物或者过程的虚拟。模拟要表现出选定的物理系统或抽象系统的关键特性。模拟的关键问题包括有效信息的获取、关键特性和表现的选定、近似简化和假设的应用,以及模拟的重现度和有效性。可以认为仿真是一种重现系统外在表现的特殊的模拟。(来自百度百科) 顾名思义,模拟就是我们去用代 阅读全文
posted @ 2020-01-17 07:13 刘子闻 阅读(308) 评论(0) 推荐(0)
摘要:数据结构 知识点目录 1 栈 栈:先进后出,每次加入栈顶,每次从栈顶弹出 2 队列 队列:先进先出,每次加入队尾,每次从队首弹出 双端队列 就是栈+队列 由于存在stl,所以就不仔细讲实现了 其实就是用一个指针和一个数组模拟上述过程 双端队列需要两个指针和一个数组 3 优先队列(堆) 堆是一个非常好 阅读全文
posted @ 2020-01-16 07:22 刘子闻 阅读(234) 评论(0) 推荐(0)
摘要:搜索 第一天集训,全程一脸懵...还要继续加油!搜索这部分(自认为)比较难理解,所以还是要多做题多思考。 知识点目录 1 深度优先搜索(DFS) 基本思想 为了求得问题的解,先选择某一种可能情况向前(子结点)探索,在探索过程中,一旦发现原来的选择不符合要求,就回溯至父亲结点重新选择另一结点,继续向前 阅读全文
posted @ 2020-01-15 09:07 刘子闻 阅读(294) 评论(2) 推荐(0)
摘要:### 1 全排列 ### 2 01背包 ### 3 自然数拆分 ### 4 页码统计 ### 5 汉诺塔 阅读全文
posted @ 2019-12-26 19:53 刘子闻 阅读(134) 评论(1) 推荐(0)
摘要:题目描述 给定一段序列,从$a[1]$到$a[n]$,求满足条件的$1\leq i\leq j\leq n$,使得$\sum\limits^j_{k=i}a[k]$最大. 题解 1 最简单最容易想到的就是根据定义来枚举。 枚举上下界$\{(i,j) | 1\leq i\leq j\leq n\}$, 阅读全文
posted @ 2019-12-12 20:21 刘子闻 阅读(185) 评论(1) 推荐(0)
摘要:T112394 分金币 题目描述 圆桌周围坐了$n$个人,每个人有一定数量的金币,金币的总数保证是$n$的倍数,每个人可以向左或向右给出一些金币,使得最终每个人的金币数相等。你的任务是求出被转移了的金币的总数。 比如,$n=4$时,如果四个人的金币数是$1,2,5,4$,则转移4枚金币(第3个人给第 阅读全文
posted @ 2019-12-10 20:24 刘子闻 阅读(141) 评论(4) 推荐(0)
摘要:``` //1.7.35 #include #include #include #include #include using namespace std; bool iszimu(char a){ if(a>='a'&&as[i-1]+1) { if(p3==1) { for(char temp = s[i-1]+1;temp=s[i-1]+1;temp--) { for(int j=0;js[ 阅读全文
posted @ 2019-12-07 22:18 刘子闻 阅读(168) 评论(0) 推荐(0)
摘要:getline(cin,s) string s1("hello"), s2("hello, world"); int n = s1.compare(s2); n = s1.compare(1, 2, s2, 0, 3); //比较s1的子串 (1,2) 和s2的子串 (0,3) n = s1.com 阅读全文
posted @ 2019-12-07 11:00 刘子闻 阅读(266) 评论(0) 推荐(0)
摘要:$Way1$ 阅读全文
posted @ 2019-12-07 09:05 刘子闻 阅读(119) 评论(0) 推荐(0)
摘要:$fetc$函数是一种读入字符串的方式 阅读全文
posted @ 2019-12-07 08:34 刘子闻 阅读(95) 评论(0) 推荐(1)
摘要:1.基本约瑟夫问题 题目描述 $n$个人($n\le 100$)围成一圈,从第一个人开始报数,数到$m$的人出列,再由下一个人重新从$1$开始报数,数到$m$的人再出圈,……依次类推,直到所有的人都出圈,请输出依次出圈人的编号. 输入格式 $n m$ 输出格式 出圈的编号 样例输入 10 3 样例输 阅读全文
posted @ 2019-12-07 08:05 刘子闻 阅读(462) 评论(1) 推荐(0)
摘要:P1962 P3986等基础模板 1 递归(自调用) 阅读全文
posted @ 2019-12-07 07:55 刘子闻 阅读(151) 评论(0) 推荐(0)