A、配对游戏(loj6191)

题目:

https://loj.ac/problem/6191

分析:

g[i][j]表示前i个位置尽可能合并,合并到最后右边剩下j个>,这样情况的概率

那么g[i][j]=0.5*g[i-1][j-1]+0.5*g[i-1][j+1]

我们能不能根据概率来求期望呢?

emmmmm...有点困难,因为我们只知道每种情况下右边剩余>的个数,却不知道左边剩余<的个数

其实这两个是对称的,所以结果*2就行了

如果没发现这个怎么办呢?那就老老实实设期望

f[i][j]表示在g[i][j]描述背景下剩余个数的期望

那么f[i][j]=0.5*(g[i-1][j-1]+1*f[i-1][j-1])+0.5*(g[i-1][j+1]-1*f[i-1][j+1])

时间复杂度O(n^2)

B、城市网络(loj6192)

题目:

https://loj.ac/problem/6192

分析:

直观想法是要在树上维护一个可撤销的单调栈……但好像不太好弄……换思路

首先可以把询问(u,v,c)转换成u点下挂个点,这个点的点权是c

现在关键问题就是如何快速找到树上每个点的father,这个father是点到根路径上最近的比它大的那个点

可以这样搞,倍增求出fa[i][j]表示i的j级父亲,mx[i][j]表示i向上到j级父亲下面这段点的最大点权

那么就可以根据mx倍增走出每个点的最近父亲,然后对于新的父亲进行倍增

对于每个询问根据深度倍增就行了

时间复杂度O(nlogn)

C、神秘代号(loj6193)

题目:

https://loj.ac/problem/6193

分析:

n个点n条边构成的是一个基环外向树,那个环所表示的模方程正好首位相接,可以解出一个未知数xi的值

然后发现如果确定了一个点的值,那么其它点的值都可以通过bfs得到,并且不会冲突

注意可能有多个基环外向树

D、排列(loj6194)

题目:

https://loj.ac/problem/6194

分析:

我们通过saved的更新过程来考察所有排列

设saved的值按顺序依次是p[1],p[2]....,p[k]

我们首先来考察给定一个顺序p[1],p[2]....p[k]下,符合的排列有多少个

考虑相邻的p[i]与p[i+1],我们发现p[i]右上方的所有点必须排在p[i+1]后面

于是我们设a[i]表示点p[i]右上方有多少个点(包括自己)

那么符合条件的排列数有多少呢?我们先考虑简单情况,只有两个p[1] p[2]

那么问题相当于求n的带限制排列数,限制是有x-1个数字必须排在数字p[1]之后

考虑这x个数顺序完全固定,那么根据经典结论方案数是n!/x!

但实际上这x个数的后x-1个数是可以排列的 ,所以方案数是n!/x!*(x-1)!=n!/x

那么推广到一般形式,即k>2,发现集合是嵌套的

所以对于一个给定的p[1]....p[k],方案数就是n!/(a[1]*a[2]*a[3]...*a[k])

于是我们可以得出一个O(n^2)的递推算法

f[i]表示以点i为最后一个saved的方案数

那么f[i]=Σf[j]*inv(a[j]) (j在i的左下方)

很容易发现这个如何优化,这个本质就是求左下方的和

于是第一维排序,第二维树状数组

此题也很容易推广到高维,cdq分治即可

2017CodeM复赛的更多相关文章

  1. 05:统计单词数【NOIP2011复赛普及组第二题】

    05:统计单词数 总时间限制:  1000ms 内存限制:  65536kB 描述 一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次 ...

  2. BOP 2016 复赛题目

    复赛采用团队赛的形式,基于Azure云计算平台在实际大数据的基础上展开前沿课题的较量. 在编程之美挑战赛复赛中,选手需要通过组队共同完成复赛题,考查选手编程能力的同时,也考验选手的团队协作能力.选手点 ...

  3. CCF关于NOIP2014复赛报名的通知

    CCF关于NOIP2014复赛报名的通知   CCF NOIP2014复赛全部实行网上注册.报名.未通过网上报名的选手将不具备参赛和申诉资格. 系统注册须知: NOIP2014复赛注册时间:2014年 ...

  4. NOIP2013,复赛及同步赛,报名及比赛,专题页面

    本通知的对象仅仅是福州第十九中学的学生 所有参加复赛以及同步赛的选手,请务必要仔细阅读:<关于CCF NOIP2013复赛有关事宜的通知>,里面有比赛的时间.地点.以及比赛费用的说明. 参 ...

  5. 纪录参加noip2015(pj+tg)复赛

    作为一个既参加了pj又参加了tg的初三蒟蒻,本次复赛不得不算一次很happy的事(可以不做周末作业,可以逃掉小班培训) 昨年参加pj的时候,一题眼瞎,二题作死,只有三题蒙了一点分,简直差到一种境界. ...

  6. CCF NOIP2015复赛获奖分数线及名额分配办法

                                                     CCF NOIP2015复赛获奖分数线及名额分配办法 中国计算机学会CCF NOI竞赛委员会.科学委员 ...

  7. hdu 4542 数论 + 约数个数相关 腾讯编程马拉松复赛

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=4542 小明系列故事--未知剩余系 Time Limit: 500/200 MS (Java/Others) ...

  8. 2017"百度之星"程序设计大赛 - 复赛1005&&HDU 6148 Valley Numer【数位dp】

    Valley Numer Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Tota ...

  9. 2017"百度之星"程序设计大赛 - 复赛1003&&HDU 6146 Pokémon GO【数学,递推,dp】

    Pokémon GO Time Limit: 3000/1500 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

随机推荐

  1. 洛谷 P1006 传纸条

    题目描述 小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题.一次素质拓展活动中,班上同学安排做成一个m行n列的矩阵,而小渊和小轩被安排在矩阵对角线的两端,因此,他们就无法直接交谈了.幸运的是 ...

  2. SAS Fuctions

    1. monotonic(), 单调递增函数.返回一列变量的序列等,类似于_N_ . 2. index v indexw: INDEX Function Searches a character ex ...

  3. 11gR2集群件任务角色分离(Job Role Separation)简介

       从11gR2版本开始,Oracle推荐使用不同的操作系统用户安装GI和数据库软件,例如:使用grid用户安装GI,使用Oracle用户安装数据库软件.当然,用户还是可以使用Oracle用户安装G ...

  4. 事件绑定、取消的二种形式 & call

    <script> //call 函数下的一个方法,call方法第一个参数可以改变函数执行过程中的内部this的指向,call方法第二个参数开始就是原来函数的参数列表. function f ...

  5. centos下安装nodejs的三种种方式

    方法一:源码包安装 官网下载 centos下载最新版10.9 https://nodejs.org/dist/v10.9.0/node-v10.9.0-linux-x64.tar.xz mkdir / ...

  6. js 数组元素排序?

    Part.1  sort 方法 js 有自带排序方法 sort(),  默认 升序 排列 如: data() { return { arr: [1,3,2,5,6,8,7,4,9] } }, 控制台如 ...

  7. 浅谈Link-Cut Tree(LCT)

    0XFF 前言&概念 Link-Cut Tree 是一种用来维护动态森林连通性的数据结构,适用于动态树问题.它采用类似树链剖分的轻重边路径剖分,把树边分为实边和虚边,并用 Splay 来维护每 ...

  8. 洛谷——P3939 数颜色(暴力vecotr+二分)

    P3939 数颜色 $vecotr$里二分就是好用,全是$STL$ 颜色数目比较少,可以对每一种颜色弄一个$vector$记录一下,查找$l,r$内颜色数为$x$的兔子数,直接在$G[x]$这个$ve ...

  9. <Spring Cloud>入门五 hystrix

    1.服务熔断 1.1引入坐标 <dependency> <groupId>org.springframework.cloud</groupId> <artif ...

  10. mysql5.7 在Centeros 6 下自动安装的shell脚本

    概述: 此脚本实现了在Centeros 6版本下自动安装mysql5.7到目录 /opt/mysql-5.7*并且做软连接映射到 /usr/local/mysql,自动修改root密码为:123456 ...