雨天的尾巴 这道题应该算是很板子了,不过需要稍微思考一下,对于每次发放,如果模拟发放过程,那么每次发放的时间复杂度是$O(n)$的,这样显然会T,考虑如果每次只发放一种,用树上差分解决就可以,但是这个有很多种,所以给每个结点开一棵权值线段树就行,每个节点记录每种救济粮的数量,然后同样是利用差分的思想 ...
分类:
其他好文 时间:
2020-07-05 15:42:13
阅读次数:
51
准备条件: ①枚举类型: 1 public enum enumColor 2 { 3 Red = 1, 4 Yellow, 5 Green, 6 Blue, 7 White, 8 Black 9 } ②以下状态都是理想状态,并未对错误数据进行处理。 1.枚举类型转换为字符串 private stri ...
当年我做这道题时还太嫩了,只能想到暴力。其实如果会了更高的科技这道题只要稍微对暴力优化一下就能AC(我也不会含泪75pts了)。 废话不说了,暴力的思路就是枚举每一条边然后求两个子树的重心。 直接求重心的复杂度是$O(n)$的,我们考虑优化到$O(\log)$。 我们想要求以$x$为根的子树的重心, ...
分类:
其他好文 时间:
2020-07-05 13:52:45
阅读次数:
55
enumerate,这个单词是“列举、枚举”的意思。enumerate() 函数的用法很简单,它的作用是同时给出序列的元素索引和元素。你看完下面这个例子你就明白是什么意思了: names = ["吴承恩", "罗贯中", "施耐庵", "曹雪芹"] for index, item in enumer ...
分类:
编程语言 时间:
2020-07-05 13:50:09
阅读次数:
66
位运算 + 二进制表示状态 = 状态压缩DP 先把横着的小方块放好,然后剩下位置用竖着的小方块填充 然后就转化为求横着摆放小方块的方案数 按列来求 状态表示: dp[i][j]表示所有摆到了第i列,然后上一列伸出来的小方块的状态是j的情况下,总的方案数 状态转移:枚举一下i - 1列的状态 比如说当 ...
分类:
其他好文 时间:
2020-07-05 13:26:10
阅读次数:
142
线程(Thread)是并发编程的基础,也是程序执行的最小单元,它依托进程而存在。一个进程中可以包含多个线程,多线程可以共享一块内存空间和一组系统资源,因此线程之间的切换更加节省资源、更加轻量化,也因此被称为轻量级的进程。 线程的状态在 JDK 1.5 之后以枚举的方式被定义在 Thread 的源码中 ...
分类:
其他好文 时间:
2020-07-04 23:05:37
阅读次数:
87
很多时候,在进行莫队操作时,会遇到添加容易删除难的问题。 比如涉及到最值的运算。 这时,可以使用回滚莫队。 首先,和普通莫队一样,对序列进行分块。 对于左右端点在同一个块的询问,直接暴力求解。 然后,枚举左端点所在的块,并将右端点排序。 将左端点设为区间右端点,右端点从小到大移动。 这样,左端点每次 ...
分类:
其他好文 时间:
2020-07-04 23:04:39
阅读次数:
96
题目 思路 看到数据在20以内,果断跑状压,但是由于我太弱了,最后没有调过来,然后在状压的基础上,做了这道题, 按照状压的思路,首先枚举状态,根据题目要求筛去不合法的情况 判断合法的函数(judge)内容 if(Q(x)!=(k+1))return 0,代表,在房间数大于法宝数的情况下,如果法宝没有 ...
分类:
其他好文 时间:
2020-07-04 20:30:28
阅读次数:
60
Kruskal算法(适用于稀疏图) 1、将所有边按权重从小到大排序 O(mlogn) 2、枚举每条边a,b,权重c O(m) if a,b不连通 将这条边加入集合中 判断连通 使用并查集来判断两个连通块是否连通 #include<iostream> #include<algorithm> using ...
SystemVerilog 编写FSM 题目 SystemVerilog实现 仿真 # SystemVerilog 编写FSM 题目 SystemVerilog实现 module ExampleFSM ( input logic clk , input logic reset , input log ...
分类:
其他好文 时间:
2020-07-04 17:17:45
阅读次数:
67