第二天。

同学还是不带本子记笔记。dalao。

第二天:图论,讲师:@ExfJoe

全程划水,前面都讲水算法【虽然我可能已经忘记了】什么最短路,Tarjan,最小生成树,2SAT,差分约束啥的,我现在肯定写不出来啦。

后面题目也还挺好,可能是听的比较懂的一天吧。不过也很有挑战性。


中午划水


还以为下午的题目会和上午有关系,事实证明我想太多。

T1想了个错误分块,写了n久挂了,不想调,正解主席树。

T2简单数学题,瞎推式子就完了,后悔没有去做啊。

T3毒瘤模拟题,什么切比雪夫,什么曼哈顿,什么奇偶分开,反正不想做。

爆零选手很难受。

【T2】

题面:对两个排列定义函数\(F(P_1,P_2)=\sum_{l=1}^{n}\sum_{r=l}^{n}f_{E}(P_1[l\cdots r],P_2[l\cdots r])\)。而\(f_{E}(a,b)\)表示\(a,b\)离散后顺序是否一样,且\(a,b\)的逆序对数是否不超过\(E\),例如\(f_{1}([2,1,3],[6,3,8])=1\),\(f_{30}([2,1,3],[3,2,1])=0\),\(f_{0}([1,3,2],[1,3,2])=0\)。

求出当\(P_1,P_2\)取遍所有\(1\sim n\)的全排列时,\(F(P_1,P_2)\)的和。

题解:分开考虑每一个\([l\cdots r]\)的贡献,瞎推式子瞎计算,得到答案:\(\sum_{i=1}^{n}(n-i+1)f(i,E)(\frac{n!}{i!})^2\),\(f(i,j)\)表示长度为\(i\),逆序对数不超过\(j\)的全排列数量。

\(f(i,j)\)可以\(O(n^3)\)预处理DP。这题就做完了。

 #include<cstdio>
#define Mod 1000000007
int n,E;
int f[][];
int fra[],inv[];
inline int Min(int x,int y){return x<y?x:y;}
inline int Mo(int x){return x>=Mod?x-Mod:(x<-Mod?x+(Mod<<):(x<?x+Mod:x));}
void init(){
f[][]=;
for(int i=,s,t;i<=;++i){
f[i][]=; s=i*(i-)/; t=(i-)*(i-)/;
for(int j=;j<=s;++j)
f[i][j]=Mo(f[i][j-]+(j<=t?f[i-][j]:f[i-][t])-(j>=i?f[i-][j-i]:));
}
fra[]=inv[]=;
for(int i=;i<=;++i) fra[i]=1ll*fra[i-]*i%Mod;
for(int i=;i<=;++i) fra[i]=1ll*fra[i]*fra[i]%Mod;
for(int i=;i<=;++i) inv[i]=1ll*(Mod-Mod/i)*inv[Mod%i]%Mod;
for(int i=;i<=;++i) inv[i]=1ll*inv[i-]*inv[i]%Mod;
for(int i=;i<=;++i) inv[i]=1ll*inv[i]*inv[i]%Mod;
}
int main(){
freopen("perm.in","r",stdin);
freopen("perm.out","w",stdout);
init();
int T; scanf("%d",&T);
while(T--){
scanf("%d%d",&n,&E);
long long ans=;
for(int i=;i<=n;++i)
ans=Mo(ans+1ll*(n-i+)*inv[i]%Mod*f[i][Min(E,i*(i-)/)]%Mod);
ans=1ll*ans*fra[n]%Mod;
printf("%d\n",ans);
}
return ;
}

【FCS NOI2018】福建省冬摸鱼笔记 day2的更多相关文章

  1. 【FCS NOI2018】福建省冬摸鱼笔记 day1

    省冬的第一天. 带了本子,笔,一本<算法导论>就去了.惊讶于为什么同学不带本子记笔记. 他们说:“都学过了.”,果然这才是巨神吧. 第一天:数论,讲师:zzx 前几页的课件挺水,瞎记了点笔 ...

  2. 【FCS NOI2018】福建省冬摸鱼笔记 day6【FJOI 2018】福建省选混分滚蛋记 day1

    记录一下day6发生的事情吧. 7:30 到达附中求索碑,被人膜,掉RP. 7:50 进考场,6楼的最后一排的最左边的位置,世界上最角落的地方,没有任何想法. 发现电脑时间和别人不一样,赶快调了一下. ...

  3. 【FCS NOI2018】福建省冬摸鱼笔记 day3

    第三天. 计算几何,讲师:叶芃(péng). dalao们日常不记笔记.@ghostfly233说他都知道了,就盼着自适应辛普森积分. 我计算几何基础不好……然而还是没怎么讲实现,感觉没听什么东西进去 ...

  4. 【FCS NOI2018】福建省冬摸鱼笔记 day5

    第五天,也是讲课的最后一天. 数据结构专题,讲师:杨志灿 他的blog我似乎找不到了……以前肯定是在百度博客里面.但是现在百度博客消失了. PPT做的很有感觉,说了很多实用的技巧. 我觉得其实是收获最 ...

  5. 【FCS NOI2018】福建省冬摸鱼笔记 day4

    第四天. 动态规划专题,讲师:闫神 讲了一些DP优化技巧,然而思想难度好大啊……根本没想到能优化那地步,连DP方程都没有呢. 不过有几题我还是想明白了. 讲了单调队列,决策单调性,四边形不等式,斜率优 ...

  6. Hash 日常摸鱼笔记

    本篇文章是Hash在信息学竞赛中的应用的学习笔记,分多次更新(已经有很多坑了) 一维递推 首先是Rabin-Karp,对于一个长度为\(m\)的串\(S\) \(f(S)=\sum_{i=1}^{m} ...

  7. 可持久化Treap 赛前摸鱼笔记

    1.基本结构 随机化工具 unsigned int SEED = 19260817; //+1s inline int Rand(){ SEED=SEED*1103515245+12345; retu ...

  8. [摸鱼]cdq分治 && 学习笔记

    待我玩会游戏整理下思绪(分明是想摸鱼 cdq分治是一种用于降维和处理对不同子区间有贡献的离线分治算法 对于常见的操作查询题目而言,时间总是有序的,而cdq分治则是耗费\(O(logq)\)的代价使动态 ...

  9. HNOI2018 摸鱼记

    HNOI2018 摸鱼记 今天我又来记流水账啦 Day 0 颓废的一天. 我,球爷和杜教在颓膜膜.io ych看起来在搓碧蓝 鬼知道哥达鸭干了什么 学习氛围只局限在机房的一角 后来全体Oier开会,5 ...

随机推荐

  1. 【版本管理】git本地操作

    1.初始化一个Git仓库,使用git init命令. 2.添加文件到Git仓库,分两步: • 第一步,使用命令git add 文件名,注意,可反复多次使用,添加多个文件: • 第二步,使用命令git ...

  2. service依赖dao的接口进行数据传输

    service依赖dao的接口进行数据传输

  3. Everyone is tester

    有一本书叫<人人都是产品经理>,作者在书中介绍了在做产品的过程中学到的思维方式和做事方式,受到行业大众的认可 作为一名测试老鸟,我想说,其实Everyone is tester     为 ...

  4. vim 折叠的用法

    http://www.cnblogs.com/fakis/archive/2011/04/14/2016213.html 1. 折叠方式 可用选项来设定折叠方式: 可在Vim 配置文件中设置 set ...

  5. linux内核增加系统调用--Beginner's guide

    Linux内核中设置了一组用于实现系统功能的子程序,称为系统调用.系统调用和普通库函数调用非常相似明知是系统调用由操作系统核心提供,运行于核心态,而普通的函数调用由函数库或用户自己提供,运行于用户态. ...

  6. Ansible12:lookup

    目录 简单说明 1.file 2.pipe 3.env 4.template 5.csvfile 6.redis_kv 7.etcd 8.password 9.dnstxt 简单说明 在通常情况下,所 ...

  7. vs配置SP++3.0

    最近在研究信号处理的C语言算法,突然发现一个西安交大的师兄之前已经写出来了一个完整的库,同样是研究生三年,差别怎么这样大呢. 先从用轮子开始吧. 一.SP++3.0安装及测试 官网下载地址: http ...

  8. 重定向(Redirect)相关的几个问题

    转载自:http://hi.baidu.com/fboosjgvuvckore/item/405a1cd7be2c36e3795daa8b 此次挂接用户中心,交互大都通过重定向(Redirect)实现 ...

  9. Maven学习二:使用Nexus搭建Maven私服及相关配置

    处于安全等原因的考虑,一些企业内部网络是不允许访问外部网络的,但是项目内部搭建的项目又是Maven架构,这样就需要企业在内部网络中搭建自己的Maven仓库服务,再者一些大型企业或者内部模块化组件化划分 ...

  10. vue 项目代码初始化

    1. <meta>补充 <head> <meta charset="utf-8"> <meta name="viewport&q ...