![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
莫队
A_root_A
这个作者很懒,什么都没留下…
展开
-
hdu 4467 莫队算法
k=根号(入度出度之和) 与该点相连的点大于等于k为重点,否则为轻点 对轻点进行暴力维护,重点就将他周围的权值用一个二维数组sum[i][j]维护,i表示这个重点它周围的j这个颜色的权值和 #include <iostream> #include <algorithm> #include <vector> #include <cmath> ...原创 2018-09-25 16:16:24 · 221 阅读 · 0 评论 -
Gym-101879 H 莫队算法
先把温度离散化 c[]代表这个温度有几个 sum[]代表有几天同样温度的温度个数 #include<bits/stdc++.h> using namespace std; typedef long long ll; const int N=30005; int t[N],b[N],c[N],sum[N],ANS; struct node { int l,r,id,ans...原创 2018-09-25 10:33:21 · 269 阅读 · 0 评论 -
BZOJ 2038 莫队算法
对于一个区间询问[L,R],我们要求的ans是 ans=Σ[(sum(color[i])−1)∗sum(color[i])/2)]/[((R−L+1)∗(R−L))/2] 化简ans=(Σ-(R-L+1))/((R-L+1)*(R-L)) sum(color[i])时第i种颜色在[L,R]中出现的次数 我们只要更新的值就好了 #include<bits/stdc++.h>...原创 2018-09-21 20:50:49 · 259 阅读 · 0 评论 -
hdu 4638 莫队算法
题意: 连续的数字为一组 如:3,1,2为一组(次序无关) 3 ,1,2,5,6 有两组。3,1,2和5,6 求在一个区间里有这样的组有几组 #include <iostream> #include <algorithm> #include <vector> #include <cmath> #include <stdio....原创 2018-09-25 12:44:45 · 181 阅读 · 0 评论 -
hdu 4858 分块
对每个点定义两个值:val,sum,val记录自己的特征值,sum记录周边所有点特征值的和。 把所有的节点分成两类,重点(度数>=sqrt(m)),轻点(度数<sqrt(m))。 更新: 轻点:更新自己的val,同时更新所有的邻点的sum值 重点:更新自己的val,同时只更新相邻重点的sum值(所以重点不需要连边到轻点) 查询: 轻点:暴力加上所有相邻点的val值。 重点...原创 2018-09-26 17:07:34 · 231 阅读 · 0 评论 -
hdu 5145 莫队算法
参考https://www.cnblogs.com/liyinggang/p/5670623.html 题意:总共m个女生,分布在n个教室中,每个教室Hash[i]人,一个人要拜访每个女生,一个教师只能拜访一个女生,问摆放顺序的种类有多少种。 题解:总和ans=m!/(Hash[1]!*Hash[2]!*...*Hashn]!); 套莫队的模板,当询问区间从[l,r-1]->[l,r]...原创 2018-09-28 07:36:13 · 172 阅读 · 0 评论 -
专题训练3 莫队算法题目清单
bzoj 2048(入门) 题解:https://blog.csdn.net/qq_39898877/article/details/82807192 hdu 4467 题解:https://blog.csdn.net/qq_39898877/article/details/82840862 hdu 4638 题解:https://blog.csdn.net/qq_39898877/ar...原创 2018-09-20 20:16:41 · 520 阅读 · 0 评论