P3466 [POI2008]KLO-Building blocks
题目描述 Byteasar loved to play with building blocks as a child. He used to arrange the blocks into nnn columns of random height and then organize them in the following manner: Byteasar would choose a number kkk and try to arrange the blocks in such a w
NOIP2016 天天爱跑步 (树上差分+dfs)
题目大意:给你一颗树,树上每个点都有一个观察员,他们仅会在 w[i] 时刻出现,观察正在跑步的玩家 一共有m个玩家,他们分别从节点 s[i] 同时出发,以每秒跑一条边的速度,沿着到 t[i] 的唯一路径向节点t[i]奔跑 如果一名玩家已经到达了终点,那么在他到达终点之后出现在终点的观察员不会观察到他 但如果在到达终点的同时观察员也出现在终点,那么观察员可以观察到他 求每个节点的观察员观察到玩家的数量 对于每个玩家的奔跑路线,可以拆成两部分 <1>向上跑,从 u 向 lca 奔跑 显然,玩家 u
[USACO18OPEN] Multiplayer Moo (并查集+维护并查集技巧)
题目大意:给你一个N*N的棋盘,棋盘上每个点都有一个权值 第一问求一个权值形成的最大联通块中点的数量 第一问求两个权值共同形成的最大联通块中点的数量 提供一种并查集的做法:(感谢大佬们的题解) 第一问把所有相同权值的相邻的点用带权并查集合并一下就OK了 第二问,就需要一些骚操作了 我们的目的是把两个不同权值的所有联通块合并,再去看它们共同形成的最大联通块的大小 可以用一个结构体记录两个联通块之间的关系 分别是两个联通块的标号(即这个联通块构成的并查集的祖先节点) 以及这两个联通块的颜色 而为了
hdu1828 Picture (线段树:扫描线周长)
依然是扫描线,只不过是求所有矩形覆盖之后形成的图形的周长。 容易发现,扫描线中的某一条横边对答案的贡献。 其实就是 加上/去掉这条边之前的答案 和 加上/去掉这条边之后的答案 之差的绝对值 然后横着竖着都做一遍就行了 1 #include <cstdio>
2 #include <cstring>
3 #include <algorithm>
4 #define N 10010
5 #define ll long long
6 using namespace std;
有一个整数数组,数组长度为10万,整数的范围位于3到900之间,请用Java实现时间复杂度尽可能低的排序算法(假设内存空间足够大)
1 package Test;
2
3 import java.util.ArrayList;
4 import java.util.List;
5 import java.util.Random;
6
7 public class test {
8 /**
9 * 有一个整数数组,数组长度为10万,整数的范围位于3到900之间,请用Java实现时间复杂度尽可能低的排序算法(假设内存空间足够大)
10 * @param arg
[USACO18JAN] Lifeguards S (线段树:扫描线面积)
扫描线裸题没什么好说的 注意空间不要开小了!!! 1 #include <cstdio>
2 #include <cstring>
3 #include <algorithm>
4 #define N 100100
5 #define ll long long
6 using namespace std;
7
8 int n,ctx;
9 int cnt[N<<3];
10 ll a[N<<1],sum[N<<3];
11 struct node{
12 ll l,
splay 文艺平衡树 (数据结构)
题目大意:略 splay维护区间翻转裸题,为了减少不必要的麻烦,多插入两个点,分别是0和n+1 每次找区间的第K个值,就在splay上二分即可 顺便学了一下splay的完美建树,而且splay有一些小函数可以宏定义或者用inline,跑得飞快 最后跑一遍中序遍历即可 1 #include <cstdio>
2 #include <cstring>
3 #include <algorithm>
4 #define N 100100
5 #define il inline
bzoj 1036 树的统计Count (树链剖分+线段树)
题目大意:给你一棵树,每个点都有点权 有3种操作,修改某节点的权值,求树链上节点的权值的最大值,求树链上节点的权值和 树剖裸题,搜一个树链剖分序,用线段树维护一下即可,总时间 1 #include <cstdio>
2 #include <algorithm>
3 #include <cstring>
4 #include <queue>
5 #define inf 0x3f3f3f3f
6 #define ll long long
7 #define N 301
计算"aabbc"中最多的相同字母数
package Test;
import java.util.HashMap;
import java.util.Map;
public class test3 {
/**
* 计算"aabbc"中最多的相同字母数
* @param args
*/
public static void main(String[] args) {
String str="aabbbcc";
char arr[]=str.toCharArray();
bzoj 1878 HH的项链 (树状数组+离线)
题目大意:给你一个序列,求某区间出现不同的数的个数。 貌似离线树状数组是最好的解法 先把所有询问挂在它们询问的右端点上 然后从头到尾遍历这个序列,记录这个位置的值上一次出现的位置 那么,当遍历到第i位时,如果a[i]在之前出现过,就在它上一次出现的位置-1 这个操作的意义是,第i位已经有a[i]了,那么上一次出现a[i]的位置已经失去意义 接着在这个位置+1,更新last[a[i]]。差分操作用树状数组维护 然后我们遍历以这个位置为结尾的所有询问,用树状数组查前缀和,因为在a[i]相同的位置不
Usage of git
目录 Git 配置 查看配置信息 基本概念 Git 创建仓库 git init git clone Git 配置 Git 提供了一个叫做 git config 的工具,专门用来配置或读取相应的工作环境变量。 这些环境变量,决定了 Git 在各个环节的具体工作方式和行为。这些变量可以存放在以下三个不同的地方: /etc/gitconfig 文件:系统中对所有用户都普遍适用的配置。若使用 git config 时用 --system 选项,读写的就是这个文件。 ~/.gitconfig 文件:用户
计算机网络 复习-01-概述
源自 计算机网络(第6版)--谢希仁
第一章 概述
1. 计算机网络在信息时代中的作用
数字化,网络化,信息化; 以网络为核心的信息时代;
三网: 电信网络, 有线电视网络,计算机网络;
网络融合 因特网
计算机网络最重要的两大功能: 连通性 , 共享
2. 因特网概述
因特网起源于 美国;
网络: 由若干结点(计算机、...
计算机网络 复习-02-物理层
1. 物理层的基本概念
物理层考虑的是 怎样才能在连接各种计算机的传输媒体上传输数据比特流,而不是指具体的传输媒体。
可以将物理层的主要任务描述为 确定与传输媒体的接口有关的一些特性,即:
1. 机械特性: 指明接口所用接线器的形状和尺寸,引脚数目和排列,固定和锁定装置;
2. 电气特性:接口电缆的各条线上出现的电压的范围;
3. 功能特性: 某条线上出现的某一电平的电压表示何种意义...
计算机网络 复习-03-数据链路层
数据链路层 使用的信道主要有:
1. 点对点信道: 使用一对一的点对点通信方式;
2. 广播信道: 使用一对多的广播通信方式;
1. 使用点对点 信道的数据链路层
1. 数据链路和帧
链路:从一个结点到相邻结点的一段物理线路(有线或无线),而中间没有任何其他的交换结点;
数据链路: 包括链路,实现协议的软件 和硬件;
点对点信道的数据链路层的协议数据单元——帧
数...
【LeetCode 简单题】9-实现 strStr() 函数
声明:
今天是第9道题,实现 strStr() 函数。给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。以下所有代码经过楼主验证都能在LeetCode上执行成功,代码也是借鉴别人的,在文末会附上参考的博客链接,如果侵犯了博主的相关权益,请联系我删除
(手动比心ღ( ...
【LeetCode 简单题】10-搜索插入位置
声明:
今天是第10道题。给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置,可以假设数组中无重复元素。以下所有代码经过楼主验证都能在LeetCode上执行成功,代码也是借鉴别人的,在文末会附上参考的博客链接,如果侵犯了博主的相关权益,请联系我删除
(手动比心ღ( ´・ᴗ・` ))
正文
题目:给定一个排序数组和一个目标值...
【LeetCode 简单题】11-最大子序和
声明:
今天是第11道题。给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。以下所有代码经过楼主验证都能在LeetCode上执行成功,代码也是借鉴别人的,在文末会附上参考的博客链接,如果侵犯了博主的相关权益,请联系我删除
(手动比心ღ( ´・ᴗ・` ))
啊啊啊啊这篇博文整整写了1个上午啊,保持专注的话1个半小时应该就够,慢慢来吧~~~~~...
今日推荐
周排行