关闭

Fiend

题目大意满足li<=pi<=ri的排列p,问逆序对是奇数的多还是逆序对是偶数的多或者是否一样多?解法可以构造一个矩阵,ai,li~ri是1,然后就是问它行列式的符号或判断行列式是否为0。 模拟高斯消元,每次消到第i行时,让第i行变成第i列上有1且r最小的,这样可以保证任意时刻1都是一段区间。 可以用可并堆、平衡树或线段树来快速支持合并。#include #include<algo...
阅读(90) 评论(0)

[bzoj1455]罗马游戏

题目大意需要兹瓷集合合并与删去集合内最小值。可并堆还能说什么呢,裸的……#include #include #define fo(i,a,b) for(i=a;i<=b;i++) using namespace std; const int maxn=1000000+10; int fa[maxn],dis[maxn],left[maxn],right[maxn...
阅读(412) 评论(0)

[bzoj4524][CQOI2016]伪光滑数

题目描述做法先把质数都筛进数组p。 我们设f[i,j]表示分解后最大质数为p[i],分解的结果是j项的数的集合。 为了顺利的推出f[i,j]我们还要设g[i,j]表示f的前缀和。 先让我们重定义一些符号: 1、a+b返回集合a与集合b的并(a与b均为集合) 2、a*b表示集合a内所有数乘上b(a为集合,b为一个数) 那么转移是这样的: f[i,j]=∑jk=1g[i−1,j−k]∗p[...
阅读(500) 评论(0)
    个人资料
    • 访问:250732次
    • 积分:10087
    • 等级:
    • 排名:第1807名
    • 原创:743篇
    • 转载:4篇
    • 译文:0篇
    • 评论:187条
    最新评论
    文章分类