• 2024-07-06Nanami and the Constructive Problem
    线段树优化建图一般用动态开点线段树实现建立对称的入树和出树点击查看代码#include<bits/stdc++.h>usingnamespacestd;vector<int>a[600005];intc[100005],cnt,tot,sum,id[600005],dfn[600005],low[600005],val[100005],n,m;stack<int>s;boolv[600005],h[600005
  • 2024-07-02Nanami and Subtree of Tree
    新增一条树边,等价于,在原先的有向图游戏上,对于每个状态,都连一条通向该单一根节点状态的边,故所有状态的SG函数值都+1,利用有向图游戏的组合求SG函数值点击查看代码#include<bits/stdc++.h>usingnamespacestd;vector<int>a[300005];intsg[300005],f[300005];intread1()
  • 2024-07-02Nanami and the House Protecting Problem
    求出最大流后,从源点开始沿残量网络BFS,标记能够到达的点。E中所有连接已标记点和未标记点的边构成最小割点击查看代码#include<bits/stdc++.h>usingnamespacestd;vector<int>a[6005];vector<int>c[6005];vector<int>d[6005];boolv[6005];intpr1[6005],pr2[6005];c
  • 2024-07-01Nanami and the Last Enigma (hard version)
    如果从前缀和的视角考察题目中需要统计的信息,那么子段和=x等价于s[r]-s[l-1]=x于是我们虽然不能O(1)地求出w(l,r),但是可以O(1)地将已知的w(l,r)扩展w(l,r)是一个非常明显的满足“包含大于等于交叉”的四边形不等式的函数,除此之外,通过打表找规律,也可以发现DP有决策单调性决策单