关闭

[矩阵 二项式定理 单位根 构造 数学神题] BZOJ 3328 PYXFIB

题解:http://blog.csdn.net/regina8023/article/details/45007551 #include #include #include #include using namespace std; typedef long long ll; inline char nc() { static char buf[100000],*p1=buf,*p2...
阅读(416) 评论(0)

[割顶 乱搞] BZOJ 2730 [HNOI2012]矿场搭建

充满了乱搞的气息 首先如果一个联通块没有割顶 那么要两个 因为要避免单个那个塌陷了 然后如果有割点 割点再把他分成子联通块 可以发现 叶子必须有一个 也就是说只和一个割点相连的子联通块必须有一个 方案数是size相乘 然后再把ans1相加 ans2相乘 #include #include #include #include #define cl(x) memset(x,0,size...
阅读(139) 评论(0)

[强连通分量] BZOJ 2438 [中山市选2011]杀人游戏

题意...看了题解才知道 认识关系是可以传递的啊 注意一个坑人的特判 一开始看到这个题还以为是关于概率和期望的问题,,结果发现这题的概率就是个没有技术含量的东西,,假如警察一共只询问了x个人的话,那么安全的概率就是1-x/n,,所以说关键就是求出x的值;  我们发现如果将所有关系看作一棵树的话,那么我们只要调查树的根节点就可以了,也就是说我们的答案就是1-根节点数/节点总数;但是...
阅读(134) 评论(0)

[几何] BZOJ 4246 两个人的星座

Po姐说 考虑两个三角形,如果这两个三角形相离,那么一定可以做出两条内公切线,否则做不出来  枚举一个点,以这个点为中心按极角序枚举另一个点,连接这两个点作出一条公切线,那么这两个三角形分别分布在这条线的两端,统计出两侧每种颜色的点之后乘法原理即可  #include #include #include #include #include #define cl(x) memset(x...
阅读(139) 评论(0)

[二分] BZOJ 4590 [Shoi2015]自动刷题机

一开始还没想到单调 后来hint启发我这是单调的 233 #include #include #include using namespace std; typedef long long ll; inline char nc() { static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=(p1=buf)+f...
阅读(138) 评论(0)

[bfs 分层图 字典序 最短路] BZOJ 2644 Pku3967 Ideal Path

将点按照距离分层,对每一层,计算有效点到下一层的最小颜色值 #include #include #include using namespace std; typedef long long ll; inline char nc() { static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=(p1=buf)+fread(...
阅读(137) 评论(0)

[树状数组 线段树] BZOJ 3333 排队计划

Po姐:http://blog.csdn.net/popoqqq/article/details/40392219?utm_source=tuicool&utm_medium=referral #include #include #include using namespace std; typedef long long ll; inline char nc() { static ...
阅读(134) 评论(0)

[拆边费用流] BZOJ 1449 [JSOI2009]球队收益

比较巧妙的是假设双方都输 然后输变赢增加的收益是多少  跑费用流就好了 #include #include #include #include using namespace std; inline char nc() { static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=(p1=buf)+fread(buf,1,...
阅读(165) 评论(0)

[暴搜剪枝] BZOJ 3733 [Pa2013]Iloczyn

自己的姿势弱爆了 学了CA的姿势 http://blog.csdn.net/creationaugust/article/details/50518813 然后发现了更强的姿势 http://timeplayer.blog.163.com/blog/static/203718254201499113628671/ #include #include #include #include...
阅读(373) 评论(0)

[DP 树 神奇优化] BZOJ 3057 圣主的考验

N3很好想 然而T飞 强行搬运: 裸的树形DP很简单,F[i,j]表示i个节点,高度为j的方案数。枚举左子树有多少个节点转移即可。 但是这样是O(N^3)的,会超时。 注意到满足题目所述要求的树高度的范围很小。不妨把具有i个节点的满足题目要求的树的高度范围记为L[i]~R[i]。 那么我们先考虑如下两个问题: 高度为h的树最多有多少个节点。显然就是这个高度的满二叉...
阅读(442) 评论(0)

[dfs序 树状数组] BZOJ 1103 [POI2007]大都市meg

大水题 据说树链剖分可暴力过? #include #include #include using namespace std; inline char nc() { static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=(p1=buf)+fread(buf,1,100000,stdin); if (p1==p2) re...
阅读(140) 评论(0)

[期望DP] BZOJ 1417 Pku3156 Interconnect

举个栗子 E(2,3,3)=p1*E(2,3,3)+p2*E(2,6)+p3*E(3,5)+1 #include #include #include #include #include using namespace std; typedef vector data; inline char nc() { static char buf[100000],*p1=buf,*p...
阅读(263) 评论(0)

[期望 数学] BZOJ 2720 [Violet 5]列队春游

枚举每个小朋友i  位置x 贡献 j 可以发现 x 对 求答案无用 可以优化到O(n2) 懒得优化啦 #include #include #include using namespace std; typedef long double ld; inline char nc() { static char buf[100000],*p1=buf,*p2=buf; if (p...
阅读(455) 评论(0)

[扫描线 树状数组 随机数列 优化] BZOJ 2221 [Jsoi2009]面试的考验

%%%JSB #include #include #include using namespace std; typedef long long ll; inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=(p1=buf)+fread(buf,1,100000,stdin); if (p1=...
阅读(526) 评论(0)

[扫描线 线段树] BZOJ 2161 布娃娃

这读入真让人蛋疼 本来想的是两个log的二分 #include #include #include using namespace std; typedef long long ll; inline char nc() { static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=(p1=buf)+fread(buf,1,...
阅读(415) 评论(0)

[Kruscal 二分] BZOJ 2654 tree

Orz hzwer 给白色边都加上一个值,做mst会使得选取的白边数量减少,所以可以二分它 hillan 说  此题由于数据有问题 并没有保证一定能生成有need条白色边的生成树 所以大家二分答案的时候 全加上Mid 之后再减去Mid*(n-1-ned) #include #include #include using namespace std; inline ch...
阅读(246) 评论(0)

[dfs] BZOJ 4602 [Sdoi2016]齿轮

好水 乘除换成log 但是据说long double 过了? #include #include #include #include #include #define cl(x) memset(x,0,sizeof(x)) using namespace std; inline char nc() { static char buf[100000],*p1=buf,*p2=...
阅读(284) 评论(0)

[主席树 Kruscal] BZOJ 3545 [ONTAK2010]Peaks & 3551 [ONTAK2010]Peaks加强版

Orz hzwer 据出题人的做法。。。 就是做最小生成树,但合并两结点x,y的时新建结点ext,把ext连向fa(x),fa(y)这样建出一棵树,ext的权为该边的边权 找一个点v不超过x的子树的根,可以用倍增,以它为根的子树就是v不超过x所能到达的连通块 dfs序+主席树就行了。。 #include #include #include #defin...
阅读(137) 评论(0)

[乱搞 几何] BZOJ 4614 [Wf2016]Oil

一开始想复杂了 想到网络流去了 一定有一条卡住两个端点的直线是最优解。所以枚举一个端点,以它为极坐标原点后其他每个线段覆盖了一个角度区间。 #include #include #include #include using namespace std; inline char nc() { static char buf[100000],*p1=buf,*p2=buf; if...
阅读(380) 评论(0)

[乱搞] BZOJ 4245 [ONTAK2015]OR-XOR

每位只要不都为0则为1 #include #include #include using namespace std; typedef long long ll; inline char nc() { static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=(p1=buf)+fread(buf,1,100000,stdin...
阅读(113) 评论(0)
41条 共3页1 2 3 下一页 尾页
    个人资料
    • 访问:261075次
    • 积分:11910
    • 等级:
    • 排名:第1320名
    • 原创:969篇
    • 转载:3篇
    • 译文:0篇
    • 评论:49条
    最新评论