zoukankan      html  css  js  c++  java
  • SOJ 一句话题解整理

    #50 离线+按位考虑

    #99 %6拆成%2和%3合并+将图定向为DAG的方案数为 (-1)^n P(-1)


    #123 储存分数最后求逆元

    #124 $inom{2n}{n}$大概在25的时候就已经足够求解大小 直接爆搜

    #125 对0进行分段然后分治NTT

    #189 枚举分数(考虑要比最大的区间大)直接判断

    #190 考虑每一个数作为min/max的贡献 lucas

    #191 $f[i][j]$表示交换完前i个以j结尾的最小值 转移直接枚举这一位是否交换

    #205 考虑直接对2,3,5,7分解然后直接记录指数的状态,至多还剩一个大质数随便搞搞就好了

    #208 贪心

    #209 插板

    #210 树状数组维护序列+分块维护询问

    #292 发现这个(-1)很灵性 直接求最短路数组的行列式

    #331 结论是二分图的邻接矩阵是否满秩

    #334 异或具有交换性 直接枚举10的幂次维护动态开点权值线段树

    #335 考虑二进制枚举状态容斥

    #336 相当于求完最短路以后离散化每次删掉若干行若干列 minmaxdp

    #337 二分以后bfs序判断(bfs序有着距离相关的优秀信息) 发现bfs序在其之前且距离不超过an的点都不能染且这些点直接也必定两两不同色 所以直接方案数*(k-点数)

    #338 枚举两棵树的分割点 再枚举中心点/中心边 把距离对的扔进去 取最大的k个 写写写就对了

    #339 考虑扫描右端点维护左端点 线段树维护+1/-1 以及1出现的个数 搬到树上就是按照dfs序维护 注意还原现场

    #340 枚举最大的数 容斥

    #341 维护每个质数的出现情况dp

    #342 dp+凸优化(林克卡特树换到点权)

    #343 暴力区间dp(n^4*26过100)

    #344 欧拉回路

    #345 预处理逆序计算f[i]表示0时刻从i出发到终点的时间 询问的话找到第一次遇到红灯的点拼上f[j]就好了

    #346 找到1的最大的几个儿子删掉

    #347 只有20个转折点 找到这几个点转移 套个凸优化

    #348 pollard-rho以后meetinthemiddledp

    #349 找规律 以后二进制拆位划分

    #350 类似差分去做 考虑那一轮没的 然后倒着找到就好了

    #352 拆绝对值分别维护

    #353 n^2求划分数*贡献

    #355 8大会了(。

    #356 直接扫描线

    #357 建trie以后dp

    #358 按照$lfloor frac N{i} floor$分类以后算自然数幂和

    #359 李超树+线段树

    #360 二分以后维护凸包

    #361 upanddowndp

    #362 SAM+SG 把SG直接压成一个int计算

    #381 单位根反演 多项式ln+exp(一个常见的求值方式)

    #406 树哈希+状压

    #407 找规律

    #408 每个点作为子树极值的概率独立 换根dp

    #409 数据分治 猜题意(bushi

    #410 平衡树维护区间平移 区间加(我特么是怎么场上写出来的。

    #416 换元积分以后分部积分可以得到(n-1,m)->(n,m)的递推

    #417 给定|A|和|B|的答案很好算 发现求|A|和|B|的方案其实就是一个组合数

    #418 直接维护凸包公切线x 对其做射影变换(1/x,y/x)然后求凸包就可以了√

    #419 数论题 又不会了x

    #423 树上切边游戏 sg(x)= (xor sg(son(x)))+1

    #424 正解太难了 随机好啊/dz

    #427 显然影响最大的是最小的 然后分别维护转移bitset和权值bitset

    #428 AC自动机fail转移 复杂度分析是3/2 n(总之能过x

    #429 找到6个雷就可以确定系数

    #431 四个四个一组确定0/1期望有一个正确回答

    #474 输出n-1

    #475 标准莫队 给每个数赋随机权值以后要求xor=0

    #477 简单dp

    #479 注意特判算一下重点

    #482 画一个式子发现是log的x

    #483 离线以后把询问差分掉 用bitset维护质因数


    #484 最大边的平方x

    #485 注意读题x

    #492 发现环上一定是可以绕来绕去x 然后每次并查集合并的时候统计答案就可以了

    #498 依然是模拟费用流 f[i][j]表示i及其子树都被吃了且i被j吃了的答案(神仙状态)

    #511 线性基以后每一位能出现贡献就是它乘上2^秩-1

    #514 树剖LCA常数小能过

    #515 DAG分别维护前缀后缀答案即可

    #516 枚举固定点 然后求其余所有圆和它的交

    #517 发现直接拿通项式 Cipolla一下然后BSGS

    #518 直接分解到n^(1/3) 然后是1e6级别暴力计算贡献

    #519 把二分的边界动态修改 就是先判断再二分降一个n到lgn

    #520 拆格子拆成行点列点 费用流即可

    #521 神仙构造 见matrix67

    #522 构造 手玩一下发现8个一组

    #523 把区间操作转化成时间操作 线段树+set维护

    #524 O(nm)DP

    #528 贪心+线段树维护 具体来说堆直接维护也搞定了

    #529 回文自动机维护 神仙思路就是对于回文串的回文后缀显然是他的border 那么就可以拆成log段等差数列来维护

  • 相关阅读:
    python's is&==区别
    python's decorator&wrapper
    objects & values & types
    linux sort命令
    partial function
    proc文件系统
    readlink 获取当前进程对应proc/self/exe
    Workgroup&Domain(Realm)
    python传值&值引用
    Unpacking Argument Lists
  • 原文地址:https://www.cnblogs.com/hanyuweining/p/11845579.html
Copyright © 2011-2022 走看看