自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 JOI 2016/2017本選 T3 JOIOI 王国

题意这题被强行魔改了不知道几次。给一个填了数字的矩阵,把一个矩阵分成两块,每一块联通并且只能是“阶梯状”的,按原文说是同一块一个点走到另一个点最多只拐一个弯。求最小化两块内部的极差的最大值。思路二分答案贪心在放正解之前当然要看一看虽然已经被hack掉但是A了65分的代码:#include<iostream>#include<cstdio>#include...

2018-10-31 11:51:11 393

原创 nowcoder 提高模拟1-C 保护(可持久化)

文章目录数据mystdgen对拍数据10 202 13 14 15 46 57 38 59 810 92 44 25 23 105 79 56 16 63 49 710 67 67 87 34 510 56 59 43 210 1110 4my#include<iostream>#include<c

2018-10-29 22:03:43 106

原创 怪兽繁殖(tarjan缩点)

题意有N种不同的怪兽,标号为1到N。  每天晚上,所有的怪兽都会死去,当一只怪兽死去的时候,它会生出一只或者多只怪兽,因此怪兽的数量从来不会减少。  已知每种怪兽死去的时候能生出哪些种类的怪兽。  一开始你只有一只1类型的怪兽,你想要知道最终会有多少只怪兽,对1e9+7取模  如果有无穷多只,输出-1思路我的naive思路用一下午做出一道题的感觉真是太舒服了。看到此题便想到建一张...

2018-10-28 17:58:00 1031

原创 点双、边双、强联通分量整理

文章目录定义Tarjan算法割点和点双割边和边双强联通分量例题定义首先要明确各种定义,非常容易搞混:时间戳:数组一般叫dfn[  ]dfn[\;]dfn[],记录点第一次入栈的顺序。搜索树:割点:去掉这个点,原无向联通图不再联通。割点集合同理。割边/桥:去掉这条边,原无向联通图不再联通。点双联通图:不存在割点的图。判定:顶点数不超过2的无向联通图是点双。...

2018-10-24 15:04:29 4823 1

原创 poj 2942 Knights of the Round Table(点双+奇环)

题意求图上有多少点不存在任意一个奇环上。思路首先有一个 很容易发现 的性质:如果一个点双中有一个奇环,那么整个点双的点都至少在一个奇环上。反正我是看了蓝书才知道的。然后算法非常简单,求一遍点双,每个点双找奇环。注意点双和Dfs求奇环的打法,还有vector很容易忘记初始化。#include<iostream>#include<cstdio>#include&...

2018-10-24 14:18:11 483

原创 poj 3694 Network(边双+并查集)

题意一张无向联通图,每次询问加一条边,求桥的个数。题解算法1:边双缩点之后的图肯定是一棵树,每次在树上连一条边会形成一个环,所以缩点重建图之后每次求LCA更新就好了。算法2:可以发现low[  ]low[\;]low[]数组的意义有点类似于并查集,low[u]low[u]low[u]表示u走非树边能到达的最高点,所以如果low[x]=y,low[y]=zlo...

2018-10-24 09:05:14 342

原创 奇异图(思维+贪心)

题意有一张n个点的无向完全图,给每一条边规定一个方向后得到一个新图现在只知道每个点的出度你需要计算有多少点对(u, v) u可以到达v,特殊的,每个点自己都可以到达自己保证答案唯一思路首先定下一个"基准图",即点[1..n][1..n][1..n]出度分别为[0..n−1][0..n-1][0..n−1]。在这张图上,每个点只能连到下标比自己小的点上面。那么考虑把这张基准图改成拥有题...

2018-10-23 22:19:20 541 2

原创 tree(树形DP)

题意思路现在感觉树形DP全是套路题,但是有的时候就是想不出来。对于某一个长度为p的路径,不能与他构成合法的四元组的长度为q的路径有哪些情况呢?首先,lca在他的路径上的;其次,经过他的lca并且lca比他浅的。于是树形DP,O(n2)O(n^2)O(n2)。据说用什么点分治可以O(nlogn)O(nlogn)O(nlogn)。其实代码就是非常普通的4个DFS加上一个LCA,非常普通但...

2018-10-22 13:33:13 404

原创 Travel(树形DP)

题意一棵树,每个点对它到根的路上距离小于等于did_idi​的点有aia_iai​点影响,每个点权值等于收到的影响之和。每条边有一个出现的概率。每次询问,求某个点所在联通块的权值之和的平方的期望。思路首先权值可以倍增加差分搞出来。然后权值之和的平方的期望,不能等同于权值和的期望的平方,后者的每个和的平方都多乘了一遍概率。30分做法:对于每次询问,以询问点为根O(n)O(n)O(n)树形...

2018-10-19 08:15:54 169

原创 洛谷 P1306 斐波那契公约数(数学)

题意求斐波那契数列第nnn项和第mmm项的最大公约数(n,m≤2×109n,m \leq 2 \times 10^9n,m≤2×109)题解数据范围明确表明这题不是找规律就是推奇怪的结论。于是先开始找规律。假设f(x)f(x)f(x)表示有x因子的数在斐波那契数列中出现的循环节长度。之所以这么说是因为打表发现拥有某个因子的数非常有规律,比如222(被222整除记为YYY,反之NNN):NN...

2018-10-18 07:50:02 333

原创 NOIP 2005 提高组 T4 等价表达式(字符串乱搞)

题意给你好多表达式,求多少个和第一个等价。题解因为题目限制,只有一个变量aaa,并且次数最高为10次,所以可以大胆猜想两个本质不同的表达式代入某个aaa时值相同的情况非常的少(具体多少并不知道)。所以随机random一些数,做表达式求值。表达式求值坑非常多,主要是空格和括号的问题,打在注释里了。代码:#include<iostream>#include<cstdi...

2018-10-17 15:19:02 417

原创 ABC难题

题意给一个序列,给序列里每一种数一个字母"A",“B"或"C”,求有多少种方案使得序列中含有子序列"ABC"。思路对于有很多子序列"ABC"的情况,只在第一个"ABC"处统计它。那么在当前枚举作为"A"的位置前面,不能出现"A"。在当前枚举作为"B"的位置前面,“A"的后面,不能出现"B”。"C"可

2018-10-16 15:26:48 722

原创 windows和Ubuntu下的对拍和测试多组样例

文章目录shell语言测试random数据测试多组数据Bat测试random数据测试多组数据shell语言【Shell脚本攻略】-shell中各种括号()、(())、[]、[[]]、{}的作用Shell 输入/输出重定向Shell $0, $#, $*, $@, $?, $$和命令行参数shell变量和引用循环选择测试random数据测试多组数据#!/bin/bashg++ m...

2018-10-14 21:53:34 225 3

原创 noip 2005 提高组初赛 订正

文章目录选择题看程序写结果完型木材加工N叉树总结选择题1.字符串“ababacbab”和字符串“abcba”的最长公共子串是( )。A. abcba B. cba C. abc D. ab E. bcba 子串要求连续,子序列可以不连续。ans = C6.处理器A每秒处理的指令数是处理器B的2倍。某一特定程序P分别编译为处理器A和处理器B的指令,编译结果处理器A的指令数...

2018-10-10 11:37:59 361

原创 noip 2008 提高组初赛订正

1~5 aabca6~10 ddebc11 abd12 abc13 ac14 abcd15 abc16 abd17 bcd18 abc19 abc20 abc?1, 5?11, 14, 2075169221,3,2132/213/231/312/321/*abcdefguvwxyz ->defghijxyzabc ->e

2018-10-08 12:45:34 745

原创 noip 2009 提高组初赛订正

1~5 cadbd6~10 b(b)aa©11 abd(?)12 ad(?)13 bc(?)14 c(?)15 abd(?)16 abd17 (?)18 bc19 abcd20 cd5?哈弗曼编码?3841393(?)4960.(384615)0tmp+a[i]==ans<0itmp+=a[i]now&am

2018-10-07 13:09:32 787

原创 Atcoder Beginner Contest 107 D Median of Medians(二分答案)(中位数)

题意给出一个序列,求这个序列所有子序列中位数的中位数思路直接考虑非常fake换个角度,某个数要成为中位数的中位数,那么中位数大于等于他的序列必须占总序列数的至少1/2,而最终答案是符合这个条件的最大的数。于是二分答案。如何写check函数呢?因为选出mid之后,序列中所有数的具体数值已经不重要了,所以可以把所有大于等于mid的数看作1,小于的看作-1,则某个序列的中位数如果大于等于mid...

2018-10-06 13:22:12 427

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除