08 2015 档案
摘要:求出 bcc 后再……根据大白书上的思路即可。 然后我用的是自定义的stack类模板: 1 #include 2 #include 3 #include 4 //#include 5 #include 6 #include 7 using namespace std; 8 ty...
阅读全文
摘要:vjudge 上题目链接:uva 11324 scc + dp,根据大白书上的思路:"同一个强连通分量中的点要么都选,要么不选。把强连通分量收缩点后得到SCC图,让每个SCC结点的权等于它的结点数,则题目转化为求 SCC 图上权最大的路径。由于 SCC 图是一个 DAG, 可以用动态规划求解。...
阅读全文
摘要:线段树好题,和 15 年的广东省省赛 C 题有相似之处,一开始我的思路有偏差,看了别人的博客后感觉处处技巧都是精华,主要是区间合并的技巧一时很难想到,先附上代码: 1 #include 2 #include 3 #include 4 using namespace std; 5 #define ...
阅读全文
摘要:题目链接:nyoj 28 就是个简单的高精度,只是一开始我打表超内存了,然后用了各种技巧硬是把内存缩到了题目要求以下(5w+kb),感觉挺爽的,代码如下: 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 ...
阅读全文
摘要:hdu 4055: 一开始我想的递推方向想得很复杂,看了别人的博客后才醍醐灌顶: 参照他的思路和代码: 1 #include 2 #include 3 #include 4 using namespace std; 5 const int mod = 1000000007; 6 const ...
阅读全文
摘要:题目链接:poj 1144 题意就是说有 n(标号为 1 ~ n)个网点连接成的一个网络,critical places 表示删去后使得图不连通的顶点,也就是割顶,求图中割顶的个数。 直接上大白书上的模板即可,只是输入也有点卡人,我竟然傻傻的用手写的输入挂来处理,看了别人的博客才知道用 sc...
阅读全文
摘要:有时候用输入挂并不只是为了效率,对于一些以行末为结束(即 '\n' 或 '\r')的若干个数据的读入,此时用输入挂来处理就显得很有必要了,以判断字符是否为'\n' 或 '\r' 来结束输入,否则单用 scanf 的话无法达到上述效果。1. 先来一个单纯用于正数读入,并且题目已明确给出输入的整数的...
阅读全文
摘要:vjudge 上题目链接:uva 11728 其实是个数论水题,直接打表就行: 1 #include 2 #include 3 using namespace std; 4 5 int ans[1003]; 6 inline void init(int n = 1000) { 7 f...
阅读全文
摘要:前几晚 BC 的第二题,官方给出的题解是: 然后我结合昨天刚看的 Manacher 算法试着写了下,发现 pre、suf 数组挺难构造的,调试了好久,然后就对中间进行枚举了,复杂度应该是 O(n2) 吧,我第一次交时超时了,以为真的要用什么暴力压位,可是我还不会啊,然后作了一些少许的优化提交本...
阅读全文
摘要:今天打算补前晚 BC 的第二题,发现要用到能在 O(n) 时间求最大回文子串长度的Manacher 算法,第一次听,于是便去百度了下,看了大半天,总算能看懂了其思想,至于他给出的代码模板我没能完全看懂,只好自己试着实现,发现理解了思想后还是能实现出来的,用自己的风格去写更好理解,先附上讲解Man...
阅读全文
摘要:这题很明显是签到题,可我比赛时却没做出,赤裸裸的爆零了,真悲剧…… 看了题解后才知道直接暴搜就行,只是需要把它们从大到小排序后再搜,我当时就没想到。。。不想再多说了一开始我直接枚举所有情况: 1 #include 2 #include 3 #include 4 #include 5 using...
阅读全文
摘要:vjudge上题目链接:Determine the Shape 第二道独自 A 出的计算几何水题,题意就是给你四个点,让你判断它是哪种四边形:正方形、矩形、菱形、平行四边形、梯形 or 普通四边形。 按照各个四边形的特征层层判断就行,只是这题四个点的相对位置不确定(点与点之间是相邻还是相对并...
阅读全文
摘要:vjudge上题目链接:Huge Mods 附上截图: 题意不难理解,因为指数的范围太大,所以我就想是不是需要用求幂大法: AB % C = AB % phi(C) + phi(C)% C ( B > phi(C) ) 呢?后来发现确实需要用到,而且因为它有很多重指数,所以需要 dfs,深搜...
阅读全文
摘要:普通的 int 整型能表示的范围很有限,所以刷题时很多时候不得不用 long long 来存更大的数据。或者找出数列中某个只出现一次(或奇数次)的数(其余的数均出现两次 / 偶数次),用异或运算的经典题目,然而,如果数据范围不大的话,O(n) 的复杂度下,把第一次出现的所有数全加 / 乘起来,然...
阅读全文