那么有:
f[n]= 2*f[n-1]+h[n-1]-h[n-2]
g[n]=f[n-1]+g[n-1]+h[n-1]
h[n]=f[n-1]+2*h[n-1]-h[n-2]
¨弦图(chordalgraph):一个无向图称为弦图当且仅当图中任意长度大于3的环都至少有一个弦。
¨单纯点(simplicialvertex):设N(v)表示与点v相邻的点集。一个点称为单纯点当{v} + N(v)的诱导子图为一个团。
¨完美消除序列(perfect elimination ordering):这是一个序列{v[i]},它满足v[i]在{v[i..n]}的诱导子图中为单纯点。
¨弦图的判定:存在完美消除序列的图为弦图。可以用MCS最大势算法求出完美消除序列。
¨最大势算法 Maximum Cardinality Search
·从n到1的顺序依次给点标号(标号为i的点出现在完美消除序列的第i个)。
·设label[i]表示第i个点与多少个已标号的点相邻,每次选择label[i]最大的未标号的点进行标号。
¨判断一个序列是否为完美消除序列
·设{vi+1,…,vn}中所有与vi相邻的点依次为vj1,…, vjk。只需判断vj1是否与vj2,…, vjk相邻即可。
¨本题就是用最少的颜色给每个点染色使得相邻的点染的颜色不同。
¨完美消除序列从后往前依次给每个点染上可以染的最小的颜色。
把直线按照斜率排序,然后从小到大依次进栈。
记两直线交点的横坐标为x(A,B),则x(now,top)<=x(top,top')时,栈顶直线被废,弹出栈。
反复这样操作,直至不满足上面的条件,将当前直线压入栈中。
最后在栈中的直线就是答案。
快速幂。。
离线后倒着处理查询。。用并查集合并连通分量
1016: [JSOI2008]最小生成树计数
显然边权相同的边可以划分为同一阶段,然后枚举出没一阶段的方案数,最后相乘即可。
1017: [JSOI2008]魔兽地图DotR
丧心病狂的树形DP。。。。。
F[I,J,K]表示第I个物品为根,需要制作J个父亲,共花费K的最大价值,还需要辅助数 组G[I,J,K]表示前I个儿子需要制作J个父亲的父亲花费为K的最大价值。。。TLE了好久。。。
1018: [SHOI2008]堵塞的交通traffic
丧心病狂的线段树,用线段树维护各个矩形的四点连通性,真难调试
1019: [SHOI2008]汉诺塔
其实直接找规律推公式就行了。。。也可以DP,明显DP更有意思。
1020: [SHOI2008]安全的航线flight
以后补上
1021: [SHOI2008]Debt 循环的债务
DP,以6枚硬币分阶段DP,I,J,K分别表示三人现有的资金,每阶段枚举硬币交流方案即 可。
1022: [SHOI2008]小约翰的游戏John
神奇的组合游戏,代码奇短。
1023: [SHOI2008]cactus仙人掌图
TARJAN缩点+DP,F[I]表示以I为根向下最多延展的长度,割点和环上点单独处理,环上点可以用 单调队列来O(N)处理。
1024: [SCOI2009]生日快乐
真的直接DP就行了
1025: [SCOI2009]游戏
问题等价于求和为N的正整数数列最小公倍数的个数,继续DP,设F[I,J]表示前I个素数可以构成的各组分和小于J的公倍数数量,枚举第I个用几次,最后答案为F[TOT,N]
1026: [SCOI2009]windy数
F[I,J]为J位第I位为I的方案数,然后从前往后推就行了。。。
1027: [JSOI2007]合金
把原料和目标都看成平面上的点,前两个参数分别是横纵坐标,则当且仅当目标金属在原料围成的凸包内时有解,叉积判断每两点之间的连线是否有意义,FLOYD求最小环,ANS为1和2的情况要特判。
1028: [JSOI2007]麻将
枚举出所有情况后贪心判断,输出格式有问题让我调了一节课此奥。
贪心,当前物品可以放时就放,不能方时判断是否可以代替之前放过的最大物品,用堆维护。
1030: [JSOI2007]文本生成器
和COGS 上那道数据范围不一样。。。AC自动机上DP。明明数组开小了BZOJ上却提示超时。。
1031: [JSOI2007]字符加密Cipher
裸的后缀数组模板题,太弱不会基数排序用了快排。。
1034: [ZJOI2008]泡泡堂BNB
田忌赛马贪心模型,弱能赢弱强能赢强则赢,否则用己弱对对方强。
1037: [ZJOI2008]生日聚会Party
挺明显的DP。。F[I,J,K1,K2]表示前I个人中有J个男生,其中后缀中男生最多比女生多K1人,女生最多比男生多K2人
1040: [ZJOI2008]骑士
同1023..TARJAN缩点+DP,环上要做两次DP。
1041: [HAOI2008]圆上的整点
让人心烦的数学题。。网上的题解
首先让我们一起来推下公式:
x^2+y^2=r^2
y^2=r^2-x^2
y^2=(r-x)(r+x)
到这里为止应该都很容易想到,接下来是关键
设d=gcd(r-x,r+x)
设r-x=d*A
r+x=d*B
y^2=d^2*AB
解释下,d已被提出,所以gcd(A,B)=1
而进一步,因为y^2=d^2*A*B,而gcd(A,B)=1
所以,我们可以这样表示:
A=a*a
B=b*b
(a<>b)
(因为y^2是平方数,d^2是平方数,所以可以这样化过来)
∴ r-x=d*a^2 ①
r+x=d*b^2 ②
①+②得 2r=d*(a^2+b^2)
d是2r的约数,所以我们可以用sqrt(2r)的时间枚举d,求出好多对d
我们设
d=d
d0=(2r)/d
我们可以用(sqrt(d)+sqrt(d0))的时间来枚举a,求出b,来对这一对d求解
1042: [HAOI2008]硬币购物
我交的第一道题。。记得是DP+容斥原理。
1045: [HAOI2008] 糖果传递
又是无爱的数学题。。水过
1046: [HAOI2007]上升序列
N*LOGN 的预处理然后贪心
1047: [HAOI2007]理想的正方形
单调队列。。
1051: [HAOI2006]受欢迎的牛
TARJAN求强连通分量,可以证明如果有解则一定是求得的第一个强连通分量。
1053: [HAOI2007]反素数ant
无爱的数学题。。搜索水过了。。
1056: [HAOI2008]排名系统
这道题我用TREAP和SPLAY分别打了一遍。。随机提根的SPLAY效果更好。。但TREAP很好打的说
1079: [SCOI2008]着色方案
灰常神奇的DP,分别把剩余数量相同的颜色化为一类,状态中要表示出上次使用的是哪一种,然后DP。。
1087: [SCOI2005]互不侵犯King
状压DP,DFS预处理。。
1211: [HNOI2004]树的计数
同1005.
1494: [NOI2007]生成树计数
基于连通性的状态压缩动态规划,蒟难打。。
1050: [HAOI2006]旅行comf
暴力枚举解所在的区间>_<太弱这个都没想到。。。
1059: [ZJOI2007]矩阵游戏
果然是太弱了>_<没看出来是二分图匹配。。。。
1061: [Noi2008]志愿者招募
神一般的构图。。。。把不等式与网络流相联系。。。。每个等式抽象成一个点,求一遍最小费用最大流~
1067: [SCOI2007]降雨量
好WS的题。。。当做练习RMQ好了
1588: [HNOI2002]营业额统计
平衡树水题。。
1798: [Ahoi2009]Seq 维护序列seq
因为矩阵也满足结合率。。套上线段也符合区间加法
2002: [Hnoi2010]Bounce 弹飞绵羊
暴力分块。。。这题很萌的说
2661: [BeiJing wc2012]连连看
KM裸题。。。太弱不会KM敲费用流了。。。
2730: [HNOI2012]矿场搭建
好题啊好题,TARJAN求出所有割点,断开之后计算有几个联通块之和一个割点相连。
2326: [HNOI2011]数学作业
矩阵快速幂
3171: [Tjoi2013]循环格
费用流。。。可知每个点的出入度应该均为1。。。然后构图巴拉巴拉