随笔分类 - 数据结构——线段树
摘要:评测地址:https://www.codechef.com/problems/STREETTA 操作1:[l,r] 函数A对ax+b取大 操作2:[l,r] 函数B增加一次函数ax+b 操作3:询问 函数A在x位置的最大值+函数B在x位置的值,没有输出NA r<=1e9 |a|,|b|<=1e9 操
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/upload/201712/prob12.pdf 区间的任意一个子区间都满足值域连续 等价于 区间任意一个长为2的子区间都满足值域连续 即 区间任意相邻的两个数 大的 减 小的 <=1 线段树维护即可 #include<cstdio>
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=4552 二分答案 把>=mid 的数看做1,<mid 的数看做0 这样升序、降序排列相当于区间查询0,1 的个数,区间覆盖0,1 线段树即可完成 查询给定位置p 如果=1,说明p位置的数>=mid ,上
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1018 关键点在于只有两行 所以一个2*m矩形连通情况只有6种 编号即对应代码中的a数组 线段树维护 用b数组表示 节点第0/1行的最右一列是否连接了右边 来 辅助 节点的合并 查询 对两个点位于矩形的
阅读全文
摘要:实际得分:100+0+0=100 T1 右上角是必败态,然后推下去 发现同行全是必胜态或全是必败态,不同行必胜必败交叉 列同行 所以n,m 只要有一个是偶数,先手必胜 #include<cstdio> using namespace std; int main() { freopen("star.i
阅读全文
摘要:期望得分:100+40+100=240 实际得分:100+40+100=240 将每个联通块的贡献乘起来就是答案 如果一个联通块的边数>点数 ,那么无解 如果边数=点数,那么贡献是 2 如果边数=点数-1,那么贡献是点数 #include<queue> #include<cstdio> #inclu
阅读全文
摘要:期望得分:30+100+0=130 实际得分:30+100+20=150 忍者钩爪 (ninja.pas/c/cpp) 【问题描述】 小Q是一名酷爱钩爪的忍者,最喜欢飞檐走壁的感觉,有一天小Q发现一个练习使用钩爪的好地方,决定在这里大显身手。 场景的天花板可以被描述为一个无穷长的数轴,初始小Q挂在原
阅读全文
摘要:期望得分:76+80+30=186 实际得分:72+10+0=82 先看第一问: 本题不是求方案数,所以我们不关心 选的数是什么以及的选的顺序 只关心选了某个数后,对当前gcd的影响 预处理 cnt[i] 表示 i的倍数有多少个 g[i][j] 表示gcd(i,第j张卡片上的数) dp[i][j]
阅读全文
摘要:期望得分:100+100+60=260 实际得分:100+85+0=185 二分最后一条相交线段的位置 #include<cstdio> #include<iostream> #include<algorithm> using namespace std; #define N 100001 int
阅读全文
摘要:2962: 序列操作 Description 有一个长度为n的序列,有三个操作1.I a b c表示将[a,b]这一段区间的元素集体增加c,2.R a b表示将[a,b]区间内所有元素变成相反数,3.Q a b c表示询问[a,b]这一段区间中选择c个数相乘的所有方案的和mod 19940417的值
阅读全文
摘要:期望得分:0+40+30=70 实际得分:0+10+10=20 题目修改:只能由0变1,只能用一次操作 大模拟 #include<cstdio> #include<cstring> using namespace std; char s[2001]; int len,n; int cnt[2001]
阅读全文
摘要:期望得分:100+100+100=300 实际得分:100+100+100=300 T1 一道图论好题(graph) Time Limit:1000ms Memory Limit:128MB 题目描述 LYK有一张无向图G={V,E},这张无向图有n个点m条边组成。并且这是一张带权图,不仅有边权还有
阅读全文
摘要:https://www.luogu.org/problem/show?pid=3797 题目背景 妖梦是住在白玉楼的半人半灵,拥有使用剑术程度的能力。 题目描述 有一天,妖梦正在练习剑术。地面上摆放了一支非常长的木棒,妖梦把它们切成了等长的n段。现在这个木棒可以看做由三种小段构成,中间的n-2段都是
阅读全文
摘要:考场做法: 把所有的边按编号小的点从大到小排序 依次加边,并查集维护 合并时 fa[]强制为编号小的点 当出现环时,如果fa<=k,ans++ #include<cstdio> #include<iostream> #include<algorithm> #define N 1000001 #def
阅读全文
摘要:题目描述 如题,已知一个数列,你需要进行下面两种操作: 1.将某区间每一个数加上x 2.将某区间每一个数乘上x 3.求出某区间每一个数的和 输入输出格式 输入格式: 第一行包含三个整数N、M、P,分别表示该数列数字的个数、操作的总个数和模数。 第二行包含N个用空格分隔的整数,其中第i个数字表示数列第
阅读全文
摘要:https://www.luogu.org/problem/show?pid=3071 题目描述 To earn some extra money, the cows have opened a restaurant in their barn specializing in milkshakes.
阅读全文
摘要:F. TorCoder time limit per test 3 seconds memory limit per test 256 megabytes input input.txt output output.txt A boy named Leo doesn't miss a single
阅读全文
摘要:https://www.luogu.org/problem/show?pid=2221 题目描述 Y901高速公路是一条重要的交通纽带,政府部门建设初期的投入以及使用期间的养护费用都不低,因此政府在这条高速公路上设立了许多收费站。 Y901高速公路是一条由N-1段路以及N个收费站组成的东西向的链,我
阅读全文
摘要:B. Cards Sorting http://codeforces.com/problemset/problem/830/B B. Cards Sorting http://codeforces.com/problemset/problem/830/B Vasily has a deck of c
阅读全文
摘要:GSS4 - Can you answer these queries IV http://www.spoj.com/problems/GSS4/ #tree #tree You are given a sequence A of N(N <= 100,000) positive integers.
阅读全文