『NOIP 2019Day2 T3』 保卫王国(defense)
重温NOIP2018的试题,发现只要好好想想还是能想出一些东西的。 比如说本题是一个DDP的模板题,硬是做成了倍增优化DP的题目。 对于给出的$n$个节点的树,每个点都有点权$v_i$,共$Q$次询问。 每次询问指定两个点的状态取或者不取,询问树中最小权覆盖集。 如果最小权覆盖集不存在,输出$-1$ 对于$100\%$保证$1 \leq n,m \leq 10^5 , 1 \leq v_i \leq 10^9$ Solution : 我们设$g[u][0/1]$表示节点$u$是否选择,$u
关于SQLSERVER数据库连接池
页内导航 1.如何开启连接池? 2. 那连接池是和什么有关呢? 3.如何使用相同的连接池访问不同的数据库? 4.数据库连接池的默认最大和最小值 ‘关于数据库连接池大家都听说过或者用过,但真正的了解有多少呢? 数据连接池如何启用?有哪些主要的参数? 为什么要使用连接池? 如何关闭连接池? 如何在不开启新的连接池情况下切换当前数据库? 连接池的生命周期? 当数据库服务器强制关闭连接时会怎么样? ====================================================
307.区域与检索--数组可修改
区域与检索--数组可修改 线段树 参考 链接 代码 class NumArray {
private ArrayList<Integer> sumSegmentTree;
private int n;
public NumArray(int[] nums) {
n = nums.length;
sumSegmentTree = new ArrayList<>(2 * n + 1);
for (int i
JVM:垃圾收集器与对象的"存活"问题
垃圾收集器 垃圾收集(Garbage Collection,GC)。当需要排查各种内存溢出、内存泄露问题时,当垃圾收集成为系统更高并发量的瓶颈时,我们需要去了解GC和内存分配。 检查对象的"存活"状态 引用计数法:每当有一个地方引用对象时,计数器加1;当引用值失效,减1;任何时刻计数器为0,则表示对象不可能再被使用。缺点就是很难解决对象之间相互循环引用的问题。(如a.instance=b;b.instance=a) 可达性分析算法:这个算法的思想是通过一系列成为“GC Roots”的对象作为起
WPF实现炫酷趋势图
环境: 系统: Window 7以上; 工具:VS2013及以上。 研发语言及工程: C# WPF 应用程序 效果: 简介: 不需要调用第三方Dll, 仅仅在WPF中使用贝塞尔曲线,不到500行代码构建自定义的趋势图效果。 原理: WPF中路径Path的Data值为PathGeometry。如: <Path x:Name="PathData1" Stroke="#FFEE4141" StrokeThickness="2">
<Path.Fill>
剑指offer 15:链表的倒数第k个节点
题目描述 输入一个链表,输出该链表中倒数第k个结点。 解题思路 使用快慢指针法,让快指针先走k步,然后再让慢指针开始走,当快指针到达链表尾部时,慢指针刚好到达倒数第k个节点。 C++代码实现: /*
struct ListNode {
int val;
struct ListNode *next;
ListNode(int x) :
val(x), next(NULL) {
}
};*/
class Solution {
严格模式下的var和let的区别
1.即使是在严格模式下,var支持重复声明一个变量 2.var可以使用变量再声明变量,所谓的变量提升 3.var是函数作用域,在if和for循环中定义的变量,在循环外可以使用, let 的块作用域,只有在同一个花括号内才能使用。 来源:https://www.php.cn/js-tutorial-413074.html
简单后台登录逻辑实现Controller
package com.fei.controller.admin;
import javax.servlet.http.HttpSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
im
sparksql报错
执行时报错: org.apache.spark.sql.AnalysisException: Unable to generate an encoder for inner class `cn.itcast.spark.sql.Intro$Person` without access to the scope that this class was defined in. Try moving this class out of its parent class.; 解决方法:将case cl
sql server编写archive通用模板脚本实现自动分批删除数据
博主做过比较多项目的archive脚本编写,对于这种删除数据的脚本开发,肯定是一开始的话用最简单的一个delete语句,然后由于部分表数据量比较大啊,索引比较多啊,会发现删除数据很慢而且影响系统的正常使用。然后就对delete语句进行按均匀数据量分批delete的改写,这样的话,原来的删除一个表用一个语句,就可能变成几十行,如果archive的表有十几个甚至几十个,那我们的脚本篇幅就非常大了,增加了开发和维护的成本,不利于经验比较少的新入职同事去开发archive脚本,也容易把注意力分散到
JVM:Hotspot虚拟机中的对象
在HotSpot虚拟机中,对象在内存中存储的布局可以被分为3个区域:对象头(Header)、实例数据(Instance data)和对齐填充(Padding).对象头包括两部分信息,第一部分存储自身的运行时数据,如哈希值、GC分代年龄、锁状态标志、线程持有的锁、偏向锁ID、偏向时间戳等,这部分数据的长度在32位和64位的虚拟机中(未开启压缩指针)分别为32bit和64bit,官方称它为 Mark Word。 存储内容 标志位 状态 对象哈希码、对象分代年龄 01 未锁定 指向锁记录的指针 00
(java实现)单向循环链表
什么是单向循环链表 单向循环链表基本与单向链表相同,唯一的区别就是单向循环链表的尾节点指向的不是null,而是头节点(注意:不是头指针). 因此,单向循环链表的任何节点的下一部分都不存在NULL值。 由于单向循环链表的特性,它在处理一些环状数据的时候十分有效.大名鼎鼎的约瑟夫环问题就可以用循环单向链表求解,下面我们会有进一步的介绍。 由于单向循环链表和单向链表的差别真的不大,增添改查原理都相同。因此在这里我们不详细讲解,只提供源码。(如果你还是不理解的话,这里有单向链表的传送门) 源码实现(J
「清华集训2014」主旋律
「清华集训2014」主旋律 这个题好难难啊,我想了一个小时连50分都不会,只能去摸周指导了。 我们试图直接爆算集合 \(S\) 的非强连通导出子图数量,考虑将这个导出子图的所有强连通分量缩点后,一定是一个点数 \(\geq 2\) 的 \(\text{DAG}\) 。即缩完以后至少要有一个入度为 \(0\) 的点,这个条件充分性显然,必要性考虑如果不存在入度为 \(0\) 的点,那么一定存在一个环,说明并没有将所有强连通分量缩掉。然后我们枚举入度为 \(0\) 的点集 \(T\) ,记 \(F
python --装饰器内容讲解
python装饰器就是用于拓展原来函数功能的一种函数,这个函数的特殊之处在于它的返回值也是一个函数,使用python装饰器的好处就是在不用更改原函数的代码前提下给函数增加新的功能。 3.1 定义装饰器,定义函数。 def xxx(): 函数体 3.2 应用装饰器 在需要使用的函数、方法上@xxx即可。 注意:只要函数应用装饰器,那么函数就被重新定义,重新定义为:装饰器的内层函数。 装饰器含无参数的示例: 1 def outer(func):
2 def inner():
3
Spring Cloud Stream 知识点
首先我要先感谢小月导师(导师Q:2901583663) 我今年29岁,来自西北的一个小县城。 我习惯了穷苦的日子,在初中还没毕业的时候,我跟着亲戚去了广东深圳打工。刚到深圳的时候,我被眼前的高楼大厦惊呆了!原来大城市是这样的繁华!我从那一刻开始,心里面下了一个决定:一定要出人头地,不能被人看不起。 我先是去了一家茶餐厅打工,那时候茶餐厅都是土豪喝的,看着他们西装革履,气质文雅,我打心里有点敬畏他们,所以对待客人的时候我都是毕恭毕敬。让我在服务员生涯中印象最深的一次是,那是一个冬天天气很冷,我穿
今日推荐
周排行