刘汝佳
伟大的蚊子
这个作者很懒,什么都没留下…
展开
-
UVA 12627 气球胀啊胀
题目在此题意:第0个小时有一个红气球,每过一个小时,一个红气球膨胀为3个红球和1个蓝球 一个蓝球膨胀为4个蓝球,排成下图的样子,问过了k小时,第a行到第b行有多少个红球看下题目里的图,把每个图十字分开,就很容易发现k和k+1的关系 除了右下角全是蓝色以外,剩下都是复制 f[k][i] 表示第k个小时,前i行有多少个红球 当i在上半区(1到(1<<(k-1))行)的时候,气球是复制的k-1的状原创 2016-02-17 16:05:37 · 445 阅读 · 0 评论 -
【poor 几何】UVA1606 转啊转啊转
题目可怕,可怕 atan2教做人,之前根本不知道有这个函数 看了刘汝佳的代码,又看了这篇题解,这孩子在评论区放的图很亮 向量差积教做人,这个性质早忘了#include<cmath> #include<cstdio> #include<iostream> #include<algorithm> using namespace std; const int N=1100; struct point原创 2016-02-23 01:20:57 · 732 阅读 · 0 评论 -
UVA1515 pool ,玄学的最小割
白书题,,,,不是很理解最小割u 多刷题吧, 以后应该就会了#include<queue> #include<cstdio> #include<vector> #include<string> #include<cstring> #include<iostream> using namespace std; typedef long long LL; const int dx[]={ 0, 0,原创 2016-10-05 00:53:36 · 383 阅读 · 0 评论 -
UVA12661 有趣的赛车比赛
白书上的例题,n个点m条单向边,每条边周期性开放和关闭,时间分别为a,b 求s到t的最短路首先对于a>cost的边,可以直接删掉 spfa,算dist的时候,加入等待的时间 然后,就没有然后了写代码越来越模块化(chou)了#include <queue> #include <cstdio> #include <vector> #include <cstring> #include <iost原创 2016-10-04 20:28:31 · 520 阅读 · 0 评论 -
UVA1659&HDU2982->Help Little Laura 帮助小萝拉 (循环费用流)
题意:平面上有m条有向线段连接了n个点。 你从某个点出发顺着有向线段行走,给走过的每条线段涂一种不同的颜色,最后回到起点。 你可以多次行走,给多个回路涂色(要么不涂色,要么就至少给一个回路上的边全部涂色)。 可以重复经过一个点,但不能重复经过一条有向线段。 如下图所示的是一种涂色方法(虚线表示未涂色,即每次都可以从任意点出发染色)。 每涂一个单位长度将得到X分,但每使用一种颜色将扣掉Y分。原创 2016-10-11 23:52:18 · 680 阅读 · 1 评论 -
UVA10735 混合图欧拉回路
from CAH,here 讲的比lrj还要详细,个人的傻逼错误: 需要注意的是,网络流里是有反向边的,dinic跑完之后反向边不要添加到新图里面了#include<queue> #include<stack> #include<cstdio> #include<vector> #include<string> #include<cstring> #include<iostream> using原创 2016-10-10 00:40:58 · 559 阅读 · 0 评论 -
UVA11082 矩阵展开,最大流
某题解 题意: 知道矩阵的前i行之和,和前j列之和(任意i和j都可以)。求这个矩阵。每个格子中的元素必须在1~20之间。矩阵大小上限20*20。思路: 这么也想不到用网络流解决,这个模型很不错。假设这个矩阵的每一行是水管,每一列是水管,每行有出水口流到每一列,这样想比较好理解。然后每行的流量和每列的流量知道,就可以建图了。 建图过程,每行对应一个点,每列对应1个点,每行都可以流到每列,所以他原创 2016-08-18 01:15:25 · 631 阅读 · 0 评论 -
UVA 11525 好大好大的排列(线段树)
题目在这题意:求1-k的排列中第n大的序列,题目给出n的计算方法: n = si*(k-1)+s2*(k-2)…+sk*0!; 并给你s1~sk**分析:**n好大好大,,,,, n是给的一个一个的阶乘和,想想:k位的排列数是k! 从0!到(k-1)!,,,似乎,对应着什么 每一个s[i]对应全排列的一位数字 (蚊子数学太弱,,,证明什么的,,,额)原创 2016-03-10 19:03:00 · 547 阅读 · 0 评论 -
UVALive 4108城市天际线,混杂着递归与非递归的线段树
题目这里题意:城市会建设很多摩天楼,从侧面看城市,新楼会把旧楼挡住(如果新楼高度>=旧楼) 每新建一栋楼,会产生一个“建设值”=挡住了多少长度的旧楼(地面看做h=0的楼) 输出建设值总和, tip:每栋楼产生的“建设值”取决于这栋楼建成之前的状态,故顺序很重要分析:数据范围10W,楼的一维范围,开一个10W的线段树。 众所周知,线段树是一颗近似的完全二叉树,为何近似呢,最下面一层有一点不均匀原创 2016-03-10 01:55:24 · 749 阅读 · 0 评论 -
UVA12299 线段树水水水,但别乱开空间= =
题目看lyc的题解。。。。 传送门 果然神的题解都不放代码的 但是一直不知道为什么错了。。。后来也不知道怎么改就过了。。。。 后来慢慢改,也不知道怎么就ac了。。。 看来敲线段树还是要仔细啊。啊啊啊啊啊啊啊啊啊啊啊啊啊 单点修改,区间查询,练练非递归写法#include<cstdio> #include<cstring> #include<iostream> #include<a原创 2016-03-08 22:38:43 · 540 阅读 · 0 评论 -
UVALive 2191 水一发树状数组
题目点着题意:单点修改,区间查询,树状数组 注意输出格式,每组数据之间有回车,最后一组没有#include<cstdio> #include<cstring> #include<iostream> typedef long long LL; using namespace std; const int N=233333; int n,a[N],T[N]; char st[5];void add(i原创 2016-03-07 09:30:24 · 421 阅读 · 0 评论 -
UVA 12174 播放器,滑动窗口
题目一开始写ok数组的时候for前面一段,后面一段 都特殊处理,然后先是RTE,找了半天发现数组下标出现负的了 改了之后WA,最后看了眼刘的代码 刘的处理方式是在前面加s个空的格子 然后穷举1到s能否做起点贴代码#include<cstdio> #include<cstring> #include<iostream> using namespace std; const int N=2001原创 2016-02-18 01:39:56 · 475 阅读 · 0 评论 -
UVA3268 二分+最大流,嘿嘿嘿
题目题意:你的手机通讯录里有n个联系人,m个分组,其中,有的联系人在多个分组里。你的任务是重新规划通讯录,使得每个联系人只在一个分组里并且使人数最多的那个分组人数最少。找出人数最多的那个分组中的人数分析:看到要求最大值的最小值(人数最多的那组的人数最少),很容易想到二分答案。 然后check就懵逼,自己一开始想什么贪心乱搞, 然后看一下白书,又看看题解,卧槽最大流。 原谅我之前不会网络流,先看原创 2016-02-26 17:21:05 · 565 阅读 · 0 评论 -
UVALive 3938 一道被我WA了的线段树
题目点着 题意是一段区间,q次询问一段区间最大连续字段和 看了眼白书,每段最大连续子段和为 左子树的最大子段,右子树的最大子段,或横跨左右的最大子段 这三个里面最大的 每个节点维护3个值,最大前缀子段(L开头),最大后缀子段(R结尾),最大子段WAWAWAWAWAWAWA。。。。。。 代码能力捉急,先存着,等到海枯石烂那天在回头看#include<cstdio>//cww=2016.3.原创 2016-03-06 23:17:08 · 545 阅读 · 0 评论 -
UVA735 TLE&&WA,,,,悲剧未完成,最大流
题目点这 题意:输入n,有n个插座,下面n行是每个插座的类型(最后24个字母来表示一个插座,没有空格放心用scanf,但是有可能插座会相同,但是这个没有什么影响) 输入m,有m个电器,下面m行每行两个单词分别是电器的名字和插头类型(同样24个字母单词内没空格,两个单词空格隔开) 输入k,有k个转换器,下面k行每行两个单词,分别表示转换器的入口类型和插头类型 每种转换器的个数是无限的,转换器本原创 2016-03-01 23:16:04 · 554 阅读 · 0 评论 -
【poor几何】UVALive 5908 更新一下线段相交模板
题目点这题意:给S个传感器,每个传感器范围为R,有W堵墙,碰到墙传感器范围会少1,给P个物品,问每个物品可以被几个传感器感受到。思路:观察数据发现R很小,可以以每个点位中心扫描穷举,(暴力的不要不要的)。 在这里主要存一下新的线段相交模板,之前写过一篇跨立的题解,那个代码是直接从从原来用pascal的时候的代码翻译过来,丑的令人发指(自己调试都要吐血了)= = 这次重新写了struct,借cha原创 2016-02-07 01:53:36 · 547 阅读 · 0 评论