摘要: JSON查询 "201709 3" 纯字符串模拟,考的就是耐心和细心。可惜这两样我都缺。。。 include include include include include include include using namespace std; const int maxn=102; int n, 阅读全文
posted @ 2019-09-03 19:39 Garrett_Wale 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 公共钥匙盒 "201709 2" 这题的思路一开始不是很清晰,一开始想用贪心去做。但是发现按照题目的思路不对。所以这里采用的是类似于多项式的加减的处理。 include include include include include include include using namespace s 阅读全文
posted @ 2019-09-03 16:21 Garrett_Wale 阅读(287) 评论(0) 推荐(0) 编辑
摘要: Tunnel Warfare "HDOJ 1540" 这题关于线段树的操作有一定的难度,需要较好的思维能力。 关于题目的详细解答已经在代码中体现了。 阅读全文
posted @ 2019-09-02 20:56 Garrett_Wale 阅读(158) 评论(0) 推荐(0) 编辑
摘要: Can You answer these queries? "HDOJ 4027" 这道题目和前面做的题目略有不同。以前的题目区间更新的时候都是统一更新的,也就是更新相同的值。但是这里不一样,这里更新的每个叶子结点改变不同。 考虑到数字最大也就64位,所以就算加上开根号的操作,也就最多开7次,所以这 阅读全文
posted @ 2019-09-02 19:41 Garrett_Wale 阅读(173) 评论(0) 推荐(0) 编辑
摘要: Mayor's posters "POJ 2528" 本题是线段树的区间更新和离散化的结合。 代码中需要注意的就是这里要加入一个去重的操作。而且我这里建树的时候是从1开始的,所以下标的问题要注意。 还有一个需要注意的地方就是根据题目的意思在离散化之后,可能会出现一个问题,就是[1,10],[1, 4 阅读全文
posted @ 2019-09-02 18:50 Garrett_Wale 阅读(325) 评论(0) 推荐(0) 编辑
摘要: A Simple Problem With Integers "POJ 3468" 这题是区间更新的模板题,也只是区间更新和区间查询和的简单使用。 代码中需要注意的点我都已经标注出来了,容易搞混的就是update函数里面还需要计算sum数组。因为这里查询的时候是直接用sum查询结点。 //区间更新, 阅读全文
posted @ 2019-09-02 16:35 Garrett_Wale 阅读(124) 评论(0) 推荐(0) 编辑
摘要: I Hate It "HDOJ 1754" 1. 这道题是线段树简单的入门题,只是简单考察了线段树的基本使用,建树等操作。 2. 这里需要注意的是输入要不使用scanf要不使用快速输入。 3. 这里的maxs数组需要开大一点,4倍是最稳妥的,一定不会溢出。 4. 区间查询的时候要注意if后不是之间使 阅读全文
posted @ 2019-09-02 15:53 Garrett_Wale 阅读(132) 评论(0) 推荐(0) 编辑
摘要: URL映射 "CCF201803 3" include include include include include include include include include using namespace std; const int maxn=101; const int maxm=10 阅读全文
posted @ 2019-09-01 20:39 Garrett_Wale 阅读(200) 评论(0) 推荐(0) 编辑
摘要: #管道清洁 ##201812-5 需要清洁的管道下界为1, 不需要清洁的管道下界为0, 可重复经过的管道上界为正无穷, 不可重复经过的管道上界为1。 这属于无源无汇的有容量下界的最小费用可行流。解决的方法就是首先增加一个源点和一个汇点,然后对每一条有下限的弧进行改造,改成容量下限为0,上限为c-b的 阅读全文
posted @ 2019-09-01 12:12 Garrett_Wale 阅读(553) 评论(0) 推荐(0) 编辑
摘要: 元素选择器 "201809 3" 这里我只考虑了没有后代选择器的情况 include include include include include include using namespace std; string s[101]; int n,m; int main(){ cin n m; g 阅读全文
posted @ 2019-09-01 11:59 Garrett_Wale 阅读(225) 评论(0) 推荐(0) 编辑
摘要: Power Network "POJ 1459" 这题值得思索的就是特殊的输入,如何输入一连串字符。这里采用的方法是根据输入已知的输入格式,事先预定好要接受的数据类型。 这里套用的板子也是最大流的模板,但是虽然可以ac但是时间有点卡,所以如果可以的话还是使用高级的算法。 include includ 阅读全文
posted @ 2019-08-31 17:20 Garrett_Wale 阅读(135) 评论(0) 推荐(0) 编辑
摘要: Minimum Cost "POJ 2516" 题意就是有n个商家,有m个供货商,然后有k种商品,题目求的是满足商家的最小花费供货方式。 对于每个种类的商品k,建立一个超级源点和一个超级汇点。每个商家和源点连线,容量为需要的商品数,每个供货商和汇点连线,容量为可以提供的商品数。 然后对于商家和供货商 阅读全文
posted @ 2019-08-31 11:12 Garrett_Wale 阅读(185) 评论(0) 推荐(0) 编辑
摘要: Going Home "POJ 2195" 这题使用的是最小费用流的模板。 建模的时候我的方法出现错误,导致出现WA,根据网上的建图方法没错。 这里的建图方法是每次到相邻点的最大容量为INF,而花费为1,因为花费等于距离。但是需要增加一个源点和一个汇点,然后将每个人和源点相连,每个房子和汇点相连,容 阅读全文
posted @ 2019-08-31 09:46 Garrett_Wale 阅读(223) 评论(0) 推荐(0) 编辑
摘要: A Plug for UNIX "POJ 1087" 这一题也是最大流的应用,但是题目有点绕。 题目的意思就是有插座和插头,只不过这里使用设备取代了插头。只有插座和设备进行匹配了。 题目要注意的是那个适配器的问题,适配器给出的是 A,B 的模式,但是这里并不是指A可以取代B而是指B可以取代A,所以建 阅读全文
posted @ 2019-08-30 19:27 Garrett_Wale 阅读(374) 评论(0) 推荐(0) 编辑
摘要: Dining "POJ 3281" 这道题目其实也是网络流中求解最大流的一道模板题。 只要建模出来以后直接套用模板就行了。这里的建模还需要考虑题目的要求:一种食物只能给一只牛。 所以这里可以将牛拆成两个点,一个点和食物匹配,另一个点和饮料匹配。另外增加一个源点和一个汇点。最后根据题目的输入来连边就可 阅读全文
posted @ 2019-08-30 18:43 Garrett_Wale 阅读(139) 评论(0) 推荐(0) 编辑
摘要: ACM Computer Factory "POJ 3436" 题目就是一个工厂n个加工机器,每个机器有一个效率w,q个材料入口,q个材料出口,每个口有三个数表示状态,1表示一定有入/出的材料,0表示没有入/出的材料,2表示可能有入的材料。如果一个机器入口全是0,代表这是起始机器,如果一个机器出口全 阅读全文
posted @ 2019-08-30 17:06 Garrett_Wale 阅读(644) 评论(0) 推荐(0) 编辑
摘要: 斐波那契数列 "推荐一篇博文分享的时间复杂度分析" 阅读全文
posted @ 2019-08-30 09:39 Garrett_Wale 阅读(273) 评论(0) 推荐(0) 编辑
摘要: 消息传递口 "201903 4" 本题主要是利用队列进行模拟,因为一开始我没有注意到要按照顺序,所以一开始的解法错误。 include include include include include include include using namespace std; const int max 阅读全文
posted @ 2019-08-29 18:53 Garrett_Wale 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 数据中心 "201812 4" 这里就是最小生成树的应用 include include include include include using namespace std; const int maxn=50004; const int maxm=100005; int n,m,root; s 阅读全文
posted @ 2019-08-29 16:46 Garrett_Wale 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 201809 4 "再卖菜" 我使用的是爆搜解决,只得了60分。 "记忆化搜索" "差分约束" include include include include include using namespace std; int n; int a[303]; int b[303]; bool flag= 阅读全文
posted @ 2019-08-29 11:50 Garrett_Wale 阅读(225) 评论(0) 推荐(0) 编辑