
ACM
zephyr_pro
人所有的愤怒全部来自自己的无知。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
关于头文件<bits/stdc++.h>
注:转自http://blog.youkuaiyun.com/charles_dong2/article/details/56909347,同为本人写的,有部分修改。 之前在一个小OJ上刷题时发现有人是这么写的: #include ... 百度了一下,发现包含了全部的C++头文件。这样做题时直接敲上一句#include 而不是很多个#include。很方便,对吧? 不转载 2017-07-30 21:06:55 · 1265 阅读 · 0 评论 -
1006: [HNOI2008]神奇的国度[完美消除序列MCS]
题意:用最少的颜色把图染成任意两个相邻的点颜色不同。算法:完美消除序列算法介绍:首先把图中所有的点标记为0,然后找一个点入队,每次队头元素为标记最大的点即要消除的点,对于消除的点,我们要与他相连的点标记+1,然后没有消除的点入队。题解:我们根据MCS的过程模拟一下本题。原图:此时所有的标记都为0;下面我们消除12和4的标记+1变为1然后我们选择2进行下一次的消除此时...原创 2018-11-08 21:06:10 · 403 阅读 · 0 评论 -
1008: [HNOI2008]越狱[简单题]
题意:监狱有连续编号为1…N的N个房间,每个房间关押一个犯人,有M种宗教,每个犯人可能信仰其中一种。如果相邻房间的犯人的宗教相同,就可能发生越狱,求有多少种状态可能发生越狱题解:我们考虑用总的方案减掉不能越狱的方案。也就是相邻两个不同的方案数。拓展:如果题目改为恰好使用M种宗教的话那么做法为二项式反演了,因为可以反演出至多用M种宗教的方案。ac code:ac\ code:...原创 2018-11-03 11:12:39 · 696 阅读 · 0 评论 -
1007: [HNOI2008]水平可见直线[单调栈]
题意: 在xoy直角坐标平面上有n条直线L1,L2,…Ln,若在y值为正无穷大处往下看,能见到Li的某个子线段,则称Li为可见的,否则Li为被覆盖的.例如,对于直线:L1:y=x; L2:y=-x; L3:y=0则L1和L2是可见的,L3是被覆盖的.给出n条直线,表示成y=Ax+B的形式(|A|,|B|<=500000),且n条直线两两不重合.求出所有可见的直线.题解:根据...原创 2018-11-03 11:09:29 · 284 阅读 · 0 评论 -
Balloon Robot ZOJ - 3981[思维BF]
题意:现在有n只队伍分布在m张桌子上(每个队伍在一张桌子上),现在有一个送气球的机器人,初始位置可以是这m个桌子的任意一个,机器人沿着顺时针方向沿着桌子走,如果机器人所在位置有队伍A了题目,机器人就会送上气球。现在如果某个队伍在Ta时刻A了题目,然后气球在Tb时刻被送到,那么此时的不开心值就有Tb-Ta。现在要使所有队伍的不开心值总和最小,问机器人一开始应该位于哪里。题解:我们假设开始的时候机...原创 2018-11-03 10:58:39 · 289 阅读 · 0 评论 -
B - Building Fire Stations ZOJ - 3820[BFS+思维+乱搞]
题意:有n个点组成的一棵树,让在树上选两个点使得从这两个点出发到达的最远距离最小。(好绕OAO)题解:如果在两个点u,v之间选一个点满足题意的话那么显然要选中间的点,如果在树上选的话肯定是要选距离最长那条路线上的中间的点,显然是树的直径上的点。证明如下:如果存在u,v不在直径上,那么u到直径上的端点的距离要小于u到子树端点的距离,这不满足直径的定义,所以u,v两点必然都在直径上。根据如上...原创 2018-10-27 10:17:07 · 205 阅读 · 0 评论 -
K - Known Notation ZOJ - 3829[贪心]
题意:给出一个字符串(只含有数字和乘号),以及两种操作,分别为:向该字符串中插入一个字符(数字或者乘号)交换字符串中任意两个字符回答最少需要几次操作能把字符串变成一个合法的后缀表达式。题解:我们首先考虑如果乘号放在最后肯定是没有问题的,无论怎样只要有足够多的数字乘号一定能够用完。同理数字放在最前面也是可以的。根据上述理论贪心即可,如果该字符是乘号,那么判断他前面的运算数字的个数(多了...原创 2018-10-26 18:08:47 · 199 阅读 · 0 评论 -
数位dp[转]
原文地址:https://blog.youkuaiyun.com/wust_zzwh/article/details/52100392 基础篇数位dp是一种计数用的dp,一般就是要统计一个区间[le,ri]内满足一些条件数的个数。所谓数位dp,字面意思就是在数位上进行dp咯。数位还算是比较好听的名字,数位的含义:一个数有个位、十位、百位、千位……数的每一位就是数位啦!...转载 2018-08-24 17:25:14 · 174 阅读 · 0 评论 -
C - Sleep Buddies Gym - 101063C
题目链接step1:给定n个集合,以及一个k,求有多少对集合满足> = k, 数据量N最大为1e5。step2:算法:状态压缩, 把每一个集合都压缩成一个数字。step3:使用方法:把每个状态都进行1step4:AC代码:https://vjudge.net/solution/12503947详解代码:#include using namespace std;#defi原创 2018-01-30 20:43:49 · 388 阅读 · 0 评论 -
C++快速幂
相信很多朋友和我一样在ACM竞赛中遇到Time Limite问题,今天给大家介绍一种快速幂的算法,没有c++ 的power函数,但是更加的高效简洁。//#include #include #include #include using namespace std;int Next[10000];double quick_power(double base, unsigned原创 2017-08-06 12:51:08 · 3214 阅读 · 0 评论 -
ACM竞赛常用头文件
#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;转载 2017-09-16 20:52:04 · 1951 阅读 · 2 评论 -
链表相关知识整理
标语:如果惧怕前面跌宕的山岩,生命永远只能是死水一潭链表定义:链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。比较:数组链表如何建立链表头插法将元素插入链表头的后面尾插法将元素顺序插入链表当中如何逆序一个链表非递归需要三个辅助变量前驱(pre),当前节点(p),后继节点(next)递归递归到最后...原创 2018-11-28 17:18:07 · 329 阅读 · 0 评论