\(PKUSC\ 2022\)口胡题解

为了更好的在考试中拿分,我准备学习基础日麻知识(为什么每年都考麻将 啊啊啊)

首先\(STO\)吉老师\(ORZ,\)真的学到了好多

观察标签发现,这套题覆盖知识点广,难度适中,是一套不可多得的题

\(DAY1\)

\(T1\)

考虑过程必然是,一个值小的在参加若干轮之后超过大的,然后目前值小的参加若干轮依次交替

首先考虑单个变量

我们枚举\(i\)向后跳的第一步,假设跳到\(i-j,\)然后后面的过程是

\(i->j\)表示进行若干轮之后,中间过程不超过\(i,\)最后一次直接到\(j\)

\(i->^{k}j\)表示\(i\)进行若干轮到\(j,\)中间过程在\([i,j]\)之间到的第一个数是\(k\)

\(x_{st}=i-j,x_{ed}=i+k\)

\(Sit_1:\)我们过程中没经过\(i-j+1 ...i\)里面的位置,等价于事件\(i-j->i+k\)

\(Sit_2:\)我们过程中经过了\(i-j+1 ...j,\)可以拆分为事件\(i-j->l\)和事件\(l->^i i+k\)

得到如下递推式

\(i\)从小到大计算\(p(i->i+k)\)

\(j\)从小到大计算\(p(i-j->^i i+k)\)

解方程得到\(p(i->i+k)\)

然后我们两个变量,设\((i,j)\)表示较大值为\(i,\)较小值为\(i-j\)

然后枚举\(k\)第一个大于\(i-j\)的值

\(k<=i,(i,j)->(i,i-k)\)

\(k>i,(i,j)->(k,k-)\)

复杂度\(O(nm^3)\)

\(T2\)

很\(nb\)的数据结构\(+\)容斥

其实\(sub_4\)已经极大提示了正解

我们能贡献的线段全部用颜色标出来,我们的贡献大概分成这几种类型

我们可以使用容斥,\(Sum-out,\)对于\(out\)我们只需要对于\(x,y\)分别维护两棵线段树使用扫描线解决

在\(x,y\)轴的线段树维护区间和(区间和乘导数)就很容易得到了

那么我们的正解只需要得到一个恰当的扫描序列,然后和\(sub_4\)一样做法,可以使用平衡树\((set)\)得到序列

这个序列保证了在询问后面的线段一定不会贡献,那么\(Sum\)一定不会算进去后面的线段,前面的线段直接扫描线即可

\(T3\)

最最基础的暴力分,可以二分答案\(+\)线性规划(单纯形随便跑)

最基础的暴力分,可以二分答案\(+\)网络流

正解,我们只需要找到一个能流满的最大流即可,使用\(Hall\)引理(我\(TM\)原来没听过,貌似全机房都不会,那没事了)

\(Hall\)引理(二分图存在完美匹配的充分必要条件)

对于右部点所有子集,\(Sum(left->x)>=Need(x),\)我们对于所有的式子求一个\(Min\)即可


\(DAY2\)

\(T1\)

当我看到第一个式子的时候就半掉线了

大概听懂了\(70\%\)

放上\(sol\)截图,我大概是胡不出来了





大概是一个转化成二分图求联通块方案数的问题

复杂度\(O(n^6)\)

\(T2\)

首先,这题怎么想都不会想到是随机,啊啊啊

首先对于颜色\(x\)的边共\(Num_x\)条,前\(Num_x-1\)条随机赋值,最后一条为前\(Num_x-1\)条的异或值

首先如果一条路径的异或和为\(0,\)大概率把包含的颜色所有边都包含了(为什么是大概率,可能会出现,两个不同颜色的边都不是\(0,\)异或出来\(0\),我们只需要\(mt19937(time(0))\)多次提交(看运气能否在\(32\)发以内\(AC\))即可

我们设\(v_i\)为\(1->i\)的路径权值,\(v_i\ xor\ v_j\)比较显然的是\(i->j\)路径的异或和,我们只需要对于\(v_i\)相同的求一个路径最长的即可

题目说了对于删点之后的操作,先求出最长路径,最最长路径外面的点答案必然是\(Max,\)内部的点\(x\),贡献可以分为,左边过来的,右边过来的,子树内部即可

然后我们最长路径从左往右扫一遍,从右往左扫一遍,维护一个可插入的数据结构,每个点都查询一下左右最大值即可

\(T3\)

比较套路的思路,比较套路的\(dp\)状态,基本上可以参考近几年的麻将题的\(dp\)思路

甚至可以搜索

吉老师\(:\)我们暴力搜索通过前\(3\)个\(sub\)的同学加了卡时之后可以获得前\(4\)个\(sub\),而我们暴力搜索通过前\(4\)个\(sub\)的同学可以通过增加卡时获得\(AC\)

。。。。。。。。。。。我会了,以后一定写卡时

PKUSC 2022 口胡题解的更多相关文章

  1. 「口胡题解」「CF965D」Single-use Stones

    目录 题目 口胡题解 题目 有许多的青蛙要过河,可惜的是,青蛙根本跳不过河,他们最远只能跳 \(L\) 单位长度,而河宽 \(W\) 单位长度. 在河面上有一些石头,距离 \(i\) 远的地方有 \( ...

  2. 「浙大ACM」图森未来杯游记一篇以及简易口胡题解

    前言 蒟蒻有参加了ACM比赛,这一次有适合HY和慕容宝宝大佬一起比的,他们好巨啊,把我带飞了. 又是窝掌机,QAQ,他们仗着自己巨,就欺负窝... 我又打了\(4\)个小时的代码,而且那个键盘太恶心了 ...

  3. 关于有向图走“无限次”后求概率/期望的口胡/【题解】HNCPC2019H 有向图

    关于有向图走"无限次"后求概率/期望的口胡/[题解]HNCPC2019H 有向图 全是口胡 假了不管 讨论的都是图\(G=(V,E),|V|=n,|E|=m\)上的情况 " ...

  4. Topcoder口胡记 SRM 562 Div 1 ~ SRM 599 Div 1

    据说做TC题有助于提高知识水平? :) 传送门:https://284914869.github.io/AEoj/index.html 转载请注明链接:http://www.cnblogs.com/B ...

  5. Atcoder/Topcoder 口胡记录

    Atcoder/Topcoder 理论 AC Atcoder的❌游戏示范 兴致勃勃地打开一场 AGC 看 A 题,先 WA 一发,然后花了一年时间 Fix. 看 B 题,啥玩意?这能求? 睡觉觉. e ...

  6. NOIP2016考前做题(口胡)记录

    NOIP以前可能会持续更新 写在前面 NOIP好像马上就要到了,感觉在校内训练里面经常被虐有一种要滚粗的感觉(雾.不管是普及组还是提高组,我都参加了好几年了,结果一个省一都没有,今年如果还没有的话感觉 ...

  7. 口胡FFT现场(没准就听懂了)&&FFT学习笔记

    前言(不想听的可以跳到下面) OK.蒟蒻又来口胡了. 自从ZJOI2019上Day的数论课上的多项式听到懵逼了,所以我就下定决心要学好多项式.感觉自己以前学的多项式都是假的. 但是一直在咕咕,现在是中 ...

  8. BZOJ 口胡记录

    最近实在是懒的不想打代码...好像口胡也算一种训练,那就口胡把. BZOJ 2243 染色(树链剖分) 首先树链剖分,然后记录下每个区间的左右端点颜色和当前区间的颜色段.再对每个节点维护一个tag标记 ...

  9. Google kickstart 2022 Round A题解

    Speed Typing 题意概述 给出两个字符串I和P,问能否通过删除P中若干个字符得到I?如果能的话,需要删除字符的个数是多少? 数据规模 \[1≤|I|,|P|≤10^5 \] 双指针 设置两个 ...

随机推荐

  1. 【Java8新特性】Stream(分类+案例)

    一.Stream概述 什么是Stream? Stream是Java8引入的全新概念,它用来处理集合中的数据,可以让你以一种声明的方式处理数据. Stream 使用一种类似用 SQL 语句从数据库查询数 ...

  2. vuex+Es6语法补充-Promise

    Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式,采用 集中式存储管理 单页面的状态管理/多页面状态管理 使用步骤: // 1.导入 import Vuex from 'vuex' // ...

  3. 附001.Python多版本环境管理

    一 环境背景 由于Python的版本过多,且不同版本之间差异性较大.同时又因系统底层需要调用当前版本Python,所以不能随意变更当前系统Python版本.因此,在多版本共存的情况下,Python多环 ...

  4. Abp Vnext源码解析系列文章01---EventBus

    一.简介 BP vNext 封装了两种事件总线结构,第一种是 ABP vNext 自己实现的本地事件总线,这种事件总线无法跨项目发布和订阅.第二种则是分布式事件总线,ABP vNext 自己封装了一个 ...

  5. STL栈与队列

    #include<queue>// 队列 #include<stack>//栈 stack<int> s;//参数也是数据类型,这是栈的定义方式 queue< ...

  6. 入坑KeePass(一)安全桌面输入管理密钥后,不能输入中文

    坑一:设置了在安全桌面输入管理密钥后,重启电脑后今日keepass软件中不能输入中文: 解决方式:进入keepass软件中取消勾选,在重启软件就可以输入中文了.

  7. Python中的逻辑表达式

    首先要明确一点,Python的逻辑运算符,可以用来操作任何类型的表达式(不局限于Bool类型),且运算后的结果也不一定是Bool类型的,而是其左右其中一个表达式的值 表达式1 and 表达式2 pyt ...

  8. python中 OS模块中 os.path.join() 函数用法简介

    基础用法 os.path.join() 用于拼接文件的路径,可以传入多个待拼接的路径 若各个路径之间不存在 " / ", 则其会自动为各个路径之间增加连接符 " / &q ...

  9. 二、shell 脚本条件测试

    目录 一.条件测试 test 格式 文件测试 文件测试常见选项 整数值比较 字符串比较 浮点数的运算 逻辑测试 二.if语句 1单分支 2双分支结构 3多分支结构 三元运算符 三.case 一.条件测 ...

  10. JS:eval

    定义和用法: eval() 函数计算 JavaScript 字符串,并把它作为脚本代码来执行.eval()函数并不会创建一个新的作用域,并且它的作用域就是它所在的作用域. 如果参数是一个表达式,eva ...