Coder Social home page Coder Social logo

yaoxi-std.github.io's People

Contributors

yaoxi-std avatar

Watchers

 avatar

yaoxi-std.github.io's Issues

P3233 世界树 题解 | yaoxi-std 的博客

https://yaoxi-std.github.io/2021/11/27/sol-p3233/

P3233 世界树 题解题面题目链接 解法以下所有的“关键点”都表示题目中的议事处 看完这题题解后去学习了虚树(然后day2上午模拟赛考了道类似虚树但不用建$lca$的题目) 于是看到$\sum m \le 3 \times 10^5$ 直接建立虚树(然而如果没学过虚树就看不出来了)。 用pair<int, int>储存树上节点到达最近关键点的距离和关键点编号以便于比较。先对虚树上的节

【专题】多项式 | yaoxi-std 的博客

https://yaoxi-std.github.io/2021/12/17/top-poly/

【专题】多项式主要为$FFT$,$NTT$,多项式求逆等变换,可以和生成函数结合起来考计数题。这篇题解中有对多项式乘法的较详细证明过程。 对于使用生成函数判断方案是否合法(而不是统计方案的数量),使用单模数容易被卡,建议在$998244353$,$1004535809$和$469762049$中选取两个,其原根都为$3$。 若题目中要求对奇怪的数取模,一定记得计算模数的原根,有可能不是$3$! 题

P7154 Sleeping Cows P 题解 | yaoxi-std 的博客

https://yaoxi-std.github.io/2021/11/25/sol-p7154/

P7154 Sleeping Cows P 题解题面题目链接 解法先分析性质。首先排序不影响答案所以将其排序。若$t_i$所能匹配到的最大$s$的下标为$x$,则如果放弃$t_i$就意味着$s_1$到$s_x$都要被匹配。所以在此思路上$dp$则需要维护两个指针分别指向最小的还没考虑的$s$和$t$,每次选择较小的一边进行更新。不妨将两个数组合并顺序去做。 考虑$dp$,设$dp_{i,j,0/1

P4606 战略游戏 题解 | yaoxi-std 的博客

https://yaoxi-std.github.io/2021/11/29/sol-p4606/

P4606 战略游戏 题解题面题目链接 解法 圆方树上圆方果 圆方树下你和我 圆方树前建虚树 欢乐多又多 /kk 看到$\sum|S|$于是开始套路地想到虚树。 但是给定的是一个无向图不是一棵树啊…… 所以要想办法把图转化成一棵树,这样的数据结构叫做圆方树。 这里假设你已经学会圆方树了 考虑圆方树的性质。显然对于一对节点$(u, v)$,它们在圆方树上的路径中的圆点(不包括自身)就是删掉后能使得

CF702F T-Shirts 题解 | yaoxi-std 的博客

https://yaoxi-std.github.io/2021/11/22/sol-cf702f/

CF702F T-Shirts 题解题面题目链接 解法首先不难想到朴素的做法,对每个人枚举所有T恤。但是这样显然无法进一步优化。 但是发现可以按顺序枚举所有T恤$i$,对每个人$j$若$v_j \ge c_i$则将$v_j$减去$c_i$,同时将$cnt_j$加一。 下面考虑如何用数据结构优化。我们需要一个可以查找第一个$\ge c_i$并且能支持区间减去$c_i$的数据结构,这个可以用平衡树做到

【专题】虚树 | yaoxi-std 的博客

https://yaoxi-std.github.io/2021/12/17/top-virtualtree/

【专题】虚树这种东西想到要用很容易,关键是建完虚树后怎么做。 虚树题的特征为多次询问且出现$\sum M \le 10^5$一类的数据范围。 如果题目给出的是一张图而不是一棵树,可以思考是否能够结合圆方树等算法转化为虚树。 对于每次询问,将询问的节点和其在原树上的$LCA$单独建出来$dp$即可。

CF710F String Set Queries 题解 | yaoxi-std 的博客

https://yaoxi-std.github.io/2021/11/22/sol-cf710f/

CF710F String Set Queries 题解又卷出来一道黑题哈哈哈题面题目链接 解法首先看到多模匹配想到AC自动机。 这个强制在线看起来很麻烦的样子,因为AC自动机必须要离线下来才能build。所以就引入一种新的算法叫做“二进制分组”。 二进制分组这个算法一看名字就很$\log$ 维护一个stack,里面的值都是2的次幂。每次操作在栈顶插入一个1,如果栈顶的两个数相同就将其合并,并改

P6144 Help Yourself 题解 | yaoxi-std 的博客

https://yaoxi-std.github.io/2021/11/23/sol-p6144/

P6144 Help Yourself 题解应该是第一次在学校午自习时卷OI(然后sxy走进来看了我一眼啥也没说) 题面题目链接 解法对于这种若干区间求值的题目,肯定先按照左端点或者右端点排个序。 不妨先来考虑对于$k=1$的情况dp状态怎么设。套路地设$dp_i$表示以$i$为当前覆盖的最右端点的联通块数目之和,下面要加入一条线段$[l,r]$,思考插入这条线段对$dp$值的影响。对于$i\lt

P3803 【模版】多项式乘法(FFT) | yaoxi-std 的博客

https://yaoxi-std.github.io/2021/11/28/sol-p3803/

P3803 【模版】多项式乘法(FFT)题面题目链接 解法模版题了属于是(但我只会写递归的FFT) 为了防止自己忘记就写一下证明吧。 前置知识多项式表示方法系数表示法即 f(x) = \sum_{i=0}^{n-1}{a_ix^i}点值表示法不妨将多项式看成一个$n-1$次函数,从上面取$n$个点来唯一地表示这个函数。 设想一下高斯消元法,就能知道为什么$n$个不同的点就能唯一确定这个函数了。 f

BZOJ2720 列队春游 题解 | yaoxi-std 的博客

https://yaoxi-std.github.io/2021/11/26/sol-bzoj2720/

BZOJ2720 列队春游 题解题面题目链接 解法对于这种全排列的题目发现不太好用$dp$。仔细观察发现对于每个人的期望视野都是独立的,可以直接相加,所以直接算$E(c)$表示有$c$个人的高度小于该同学时该同学的期望视野。答案显然$\sum\limits_{i=1}^{n}{E(c_i)}$。 考虑如何求$E(c)$。根据期望公式易得$E(c) = \sum\limits_{i=1}^{c}{i

【专题】网络流 | yaoxi-std 的博客

https://yaoxi-std.github.io/2021/12/17/top-networkflow/

【专题】网络流网络流的话,先口糊好怎么建图,然后复制默写一下板子就好了。 难点其实有两个,一个是如何建图,另一个是输出路径。 如果一道题有许多奇怪的限制,并且$n$和$m$很小,导致$O(n^2m)$可以通过,就可以往网络流方面去想。 其实网络流24题的全称叫网络流和线性规划24题? 费用流需要注意的地方 费用流建反边的$cost$是原来的$cost$的相反数,即需要add(u, v, c, f)

P1251 餐巾计划问题 | yaoxi-std 的博客

https://yaoxi-std.github.io/2021/12/22/sol-p1251/

P1251 餐巾计划问题题面题目链接 解法题目中已经暗示了要用费用流。 使用流模型,流表示餐巾的数量。但是不易处理餐巾干净与否,所以拆点,将一天拆成两个点,分别表示这天拥有的干净餐巾数量和脏的餐巾数量。为方便表述,分别设为$used_{i,0}$和$used_{i,1}$。 由于每天需要使用$r_i$块餐巾,所以让$used_{i,0}$连向汇点$T$,费用为$0$,流量为$r_i$,表示这天至少

P4632 New Home 题解 | yaoxi-std 的博客

https://yaoxi-std.github.io/2021/11/22/sol-p4632/

P4632 New Home 题解题面题目链接 解法把询问离线下来,考虑3种操作:新开一家商店,关掉一家商店,查询一个点的不方便指数。 先考虑查询。显然具有二分性,考虑判断一个区间 $[l,r]$ 是否包含了所有的颜色。这种区间统计颜色的题目有一个套路的解法,即对于一个点$i$,保存 $pre_i$ 表示 $i$ 的上一个相同颜色出现的位置,区间 $[l,r]$ 的答案即为 $\sum\limit

CF526G Spiders Evil Plan 题解 | yaoxi-std 的博客

https://yaoxi-std.github.io/2021/12/04/sol-cf526g/

CF526G Spiders Evil Plan 题解题面题目链接 解法有意思,很有意思。 首先我们暂时忽略路径必须经过$x$的限制进行思考。容易想到最长的一条路径是树的直径,且其他路径都是一个叶子到另一个叶子的类型,接着发现如果路径必须经过$x$也需要保证最长路径经过直径的其中一个端点(显然最优)。于是想到以直径两个端点为根分别建一棵树,分别求根经过$x$到一个叶子结点的最长路径后$\max$,

P2770 航空路线问题 | yaoxi-std 的博客

https://yaoxi-std.github.io/2021/12/24/sol-p2770/

P2770 航空路线问题题面题目链接 解法$O(n^3)$的$dp$显然(bushi 考虑网络流的做法。首先每个点经过一次就想到拆点,然后按照原图连边,从$1$到$n$的最大流$\ge 2$就有解。 需要注意测试点$2$是$1$到$n$有连边且只有$1 \to n \to 1$这种走法的,但其实可以不用特判解决,输出路径时如果剩余流量$=+\infty-2$时多跑一次即可(具体见代码)。 AC代码

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.