随笔分类 - 数据结构
摘要:
H 传送门 观察下图 1. 只有在横着连续有三个*的时候才可能会出现三角形,并且随着横坐标的增加实际上增加的是(从左往右从上往下方向)斜对角线上点的数量。 2. 当横着连续有3-4个的时候斜线的长度为2,当横着又连续5-6个的时候斜线的长度为3,以此类推,所以启发使用斜对角前缀和来快速解决每一行连续
阅读全文

摘要:
传送门 线段树大模拟!。考验线段树功底的时候来了,作为队伍的史山选手,写这么史也是情有可原的。 #include <bits/stdc++.h> using ll = long long; const int INF = 0x3f3f3f3f; const int N = 1e6 + 10; typ
阅读全文

摘要:
传送门 大致题意: 给定数组a和数组b,需要挑选i(1 <= i <= n)个下标,对于选定的这个i个下标x1, x2... xi价值是在a[x1] + a[x2] + ... a[xi] + max(b[x1], b[x2], ..., b[xi]), 对于每个相同的i下标不能重复选,可以不连续。
阅读全文

摘要:
[传送门](https://codeforces.com/problemset/problem/786/B) 题目大意: **给定n个点,m个操作,和起点s。其中n 和 q 大于等于1小于等于1e5, s大于等于1小于等于n** **其中m个操作有三种情况:** 1.输入1 u v val 表示从u
阅读全文

摘要:
[传送门](https://ac.nowcoder.com/acm/contest/62880/C) 大致思路: **1. 发现一个很神奇的性质,无论是操作几的翻转,在同一行的始终在同一行,在同一列的始终在同一列。** **2. 对于没有操作2的时候,我们只需要分开维护x轴和y轴哪两段区间翻转了即可
阅读全文

摘要:
传送门 题目大意: T组测试数据每组测试数据先输入一个n表示有一个长度为n的一维数组,然后输入n个数字表示这个一维数组。紧接着输入一个k表示有k个询问,对于每个询问会输入一个l和一个r表示询问数组中[l, r]这个区间里面任意两个下标不重复的元素最小的或(|)是多少。 可持久化trie版本 我们可以
阅读全文

摘要:
[传送门](https://codeforces.com/contest/1843/problem/F2) 大致题意: ** 动态给定一颗树,树上每个结点的权值一定为1或者-1。最开始有1号点,权值为1。** ** 输入n表示有n个操作,当第一个符号为+ a b表示添加结点操作,编号依次递增。a表示
阅读全文

摘要:
[传送门](https://ac.nowcoder.com/acm/contest/57840/A) 大致题意: ** 爱丽丝得到一棵树,树上有n个节点,索引从1到n。树上的每条边可以是黑色或白色,所有的边最初都是白色的。有三种操作: 1. 将一条边的颜色改为黑色。2. 将一条边的颜色改为白色。3.
阅读全文

摘要:
[传送门](https://codeforces.com/contest/1771/problem/F) 大致题意: ** 给一个n,然后给一个数组a, 有m个询问,询问区间[l, r]出现次数为奇数的最小值,若没有输出0, 每次输入的l,r需要异或上上一个答案,在第一个询问的时候认为上一个答案为0
阅读全文

摘要:
[传送门](https://loj.ac/p/6029) **PS:这题正数与负数都需要向下取整,也就是说-4 / 3 = -2** 解题思路: ** 很玄学的写法** ** 线段树上维护最大值max和最小值min,可以发现对于除法而言(max / x) - (min / x)会导致max和min的
阅读全文

摘要:
[传送门](https://codeforces.com/gym/103486/problem/D) ``` #include #include #include #include #include #include #include #include #include #include #incl
阅读全文

摘要:
传送门 详细题解传送门 ** 抄的ygg代码,向在这里说一下刚开始没看懂的部分。** ** 求答案的时候是把所有的当前为止的所有数值加起来减去一个从1开始并且公差为1的等差数列的前size项和。其中size是当前最多能用到哪个位置,满足前size项能构成1,2,3,....,sz这样的形式。** *
阅读全文
