[CQOI2015]网络吞吐量 题目传送门:洛谷P3171 [CQOI2015]网络吞吐量 题目背景 路由是指通过计算机网络把信息从源地址传输到目的地址的活动,也是计算机网络设计中的重点和难点。网络中实现路由转发的硬件设备称为路由器。为了使数据包最快的到达目的地,路由器需要选择最优的路径转发数
洛谷P3172 [CQOI2015]选数 给定正整数 \(N,K,L,H\)。 在 \([L,H]\) 内选 \(N\) 个整数,易知共有 \((H-L+1)^N\) 种方案。 而我们要求的是 \(N\) 个数的最大公约数为 \(K\) 的方案数。对 \(10^9+7\) 取模。 \(1\le N,K\le 10^9,1\le L\le H\le 10^9,H-L\le 10^5\) 令 \(l=\lceil\f
嘟嘟嘟 很显然是主席树啊。 首先要稍微想想:主席树的板子是单点插入,区间查询,而区间询问是用的是前缀和相减。但这道题是区间修改,单点查询。插入和查询操作是相反的。 那么就能想到前缀和的逆运算——差分。首先把修改区间拆成\(L\)和\(R + 1\)两个时间点,然后按时间排序,遇到\(L\)就
题意描述: 洛谷 每一个任务有三个属性: \(s,t,w\) , 表示这个任务会在 \(s-t\) 这一段时间内运行,优先度为 \(w\) . 有 \(q\) 组询问,每次询问你 第 \(x\) 秒运行的任务的优先度前 \(k\) 小的任务的优先度之和。 数据范围: \(n,m\leq 10^5 , w\leq 10^9\) solution: 有一个很 \(naive\)
「CQOI2015」任务查询系统 传送门 好像也是板子题??? 区间修改,单点查询,考虑差分。 然后每次查询时就直接在对应的主席树上二分即可。 参考代码: #include <cstdio> #include <vector> #define rg register #define file(x) freopen(x".in", "r", stdin), freopen(x".out", "w", st
题目链接:Click here Solution: 先把式子列出来 \[ \sum_{i_1=L} ^{H}\sum_{i_2=L}^H \dots\sum_{i_n=L}^H [gcd(i_{j=1}^n)=k]\\ \] 接下来就是莫反套路了 \[ \sum_{i_1=\lfloor{L-1 \over k}\rfloor} ^{\lfloor{H\over k}\rfloor}\sum_{i_2=\lfloor{L-1 \over k}\rfloor}^{\
Online Judge:Luogu-P4222 Label:逆向思维,暴力枚举 题目描述 你需要给一批商品编号,其中每个编号都是一个7位16进制数(由0~9, a-f组成)。为了防止在人工处理时不小心把编号弄错,要求任意两个编号至少有三个位置对应的数字不相同。第一个编号为0000000,第二个编号为不违反上述规定的前提
P3168 [CQOI2015]任务查询系统 看到第k小,就是主席树辣 对于每一段任务(a,b,k),在版本a的主席树+k,版本b+1的主席树-k 同一时间可能有多次修改,所以开个vector存操作,再开个数组ti[p]保存时间点p最终的版本号 注意long long #include<iostream>#include<cstdio>#include<cstring>#inclu
3931: [CQOI2015]网络吞吐量 链接 分析: 跑一遍dijkstra,加入可以存在于最短路中的点,拆点最大流。 代码: #include<cstdio>#include<algorithm>#include<cstring>#include<iostream>#include<cmath>#include<cctype>#include<set>#include<queue>#include&
[CQOI2015]任务查询系统 LG传送门 以前还没见过主席树的这种写法。 考虑使用差分的思想处理每一个任务,然后所有的东西就都能顺理成章地用主席树维护了,查询的时候和平时的主席树有一点不同,详见代码。 关于为什么可以做的一点思考:主席树其实类似于求前缀和,平时我们是用来区间查询,这里
嘟嘟嘟 首先问题可以转化一下,变成在\([ \lceil \frac{L}{k} \rceil, \lfloor \frac{R}{k} \rfloor]\)中选取\(n\)个数,使这些数的gcd等于1. 以下的\(L\)和\(R\)都是除完\(k\)的。 但这样做的复杂度是\(O(R)\)的,过不了。 这时候考虑到一个性质,在这个区间中选取不相同的\(n\)个数,这\(