
坑
吴俊达9812
这个作者很懒,什么都没留下…
展开
-
洛谷 P2161 会场预约
题意:删除与当前区间有交点的区间,并插入此区间思路:注意到当前维护的区间不能有交点,区间具有很好的排序性质,可以二分查找。注意问题:读入字符时应采用scanf( ' %s') 的方式,用getchar读走回车可能会出现问题。// luogu-judger-enable-o2#include <bits/stdc++.h>using namespace std;typ...原创 2019-04-28 11:01:27 · 193 阅读 · 0 评论 -
BZOJ 1038 瞭望塔
坑点:初始化 inf 至少为 1e10更新了半平面交的模板。返回值为false 代表 有两条及以下的边界返回值为true ,代表有两条及以上的边界,但是返回的交点只有当这些边界围成一个闭合的多边形时才有意义。#include <cstdio>#include <algorithm>#include <cmath>#include <v...原创 2019-07-06 15:43:04 · 180 阅读 · 0 评论 -
hdu6540 Neko and tree
这是一道经典的树形dp,方法是分主子树进行dp。坑点:主树的dp值会实时修改,所以不能用dp[ x ][ i ],只能用 temp1[ i ] - temp1[ i-1 ]#include <bits/stdc++.h>using namespace std;typedef long long LL;typedef int lint;const lint maxn=...原创 2019-07-01 13:25:11 · 339 阅读 · 0 评论 -
2018 ICPC南京区域赛 K .Kangaroo Puzzle
思路:首先需要明确我们只要每次操作合并两个,那么总能使得最后合并成一个。下面我们给出两个点合并的方法,先任意选择两个点a和b,求出两个点之间的最短路。然后让所有点都按照该路径进行移动。那么最后a点会到达b点,b点会到达c。下面我们证明 现在的状态不会和原来的状态重合(因为状态总数为有限个,我们只需要证明状态的转移过程中不会产生环即可)状态的组成可看做两种要素,第一是所有1的相对状态,第二...原创 2019-06-29 20:19:36 · 1119 阅读 · 0 评论 -
2018 徐州网络赛 C Cacti Lottery
题意:有3*3的矩阵,你知道其中的一些点的值,这些值你的对手也知道,并且你的对手还知道几个你不知道的值。你的对手做出最好的决策,让你来猜一猜你的对手获得的得分。思路:很明显是搜索,先是枚举你的对手知道的情况,再根据每种情况进行搜索,做出最优的抉择。坑点: CLION的优化做的也太好了吧,忘写了return 居然在本地能跑。。。#include<bits/stdc++.h>...原创 2019-06-28 15:39:19 · 221 阅读 · 0 评论 -
2018 徐州A Hard to prepare
定义:dp[ i ][ 0 ] 长度为 i ,首尾匹配的合法方案个数dp[ i ][ 1 ] 长度为 i,首尾不匹配的合法方案个数dp[ i ][ 2 ] 长度为 i,首尾相等的合法方案个数 = dp[ i-1 ][ 1 ]转移方程见代码坑点:m*m爆 int。取模意义下的减法需要加模数(尼玛错了n遍了。。。)#include <bits/stdc++.h>...原创 2019-06-27 23:06:20 · 248 阅读 · 0 评论 -
焦作网络赛 一道不会的题12345678910111213141516
这题虽然我不会,但是弄懂了滚动数组的一些坑1.滚动的那一维度一定放在最外层。原因:若放在里层,则不一定遍历到其他维度所有的值。2.滚动的时候注意每次滚动时都要赋初值。因为对于滚动的那一维度的数值不同,对应的初值也可能不同。3.对于不成立的状态,要注意一定要赋值,否则与上一次循环的一样就凉了4.所有数组滚动的维度必须一样,否则无法统一最外层的循环变量。至于如果最后统计答案的时候需要...原创 2019-06-27 20:51:06 · 1566 阅读 · 0 评论 -
2018 Xuzhou H - Rikka with A Long Colour Palette
贪心策略:维护一个当前未出现的颜色的集合再维护一个目前所有颜色最晚出现位置的集合对颜色区间的左右边界进行离散化,再从左向右遍历。对于一个起点,若未出现的颜色的集合非空,则填上这个集合中任意一个颜色。(任意性的证明可以这样:对于一个最优的方案,我们任意交换两个颜色的所有染色区间,所得到的方案仍是最优的,那么这个任意性的正确性便可通过交换这两个颜色证明 )。若未出现的颜色的集合为空,则染...原创 2019-06-22 22:56:05 · 477 阅读 · 0 评论 -
Gym102012 - 2018徐州 - G - Rikka with Intersections of Paths
这题我一开始的思路是,对于点相交的集合,直接统计即可。对于边相交的集合。不妨算作为这条边深度最大的点的贡献。尼玛,这明显有重啊,我是智障吗。。。所以正解是对于边相交的集合。算作为这条边深度最小的点的贡献。等下,又坑: (x - y) % mod是错误的,正确应写成 ( x-y+mod )%mod#include<bits/stdc++.h>using ...原创 2019-06-22 19:36:21 · 407 阅读 · 0 评论 -
【BZOJ 1251】序列终结者 splay模板
模板:区间反转,区间加某一个值,区间求最大值坑点:首尾各加上两个节点后,注意第一个新加点的初值。这个东西应该叫名次树吧,写完这个东西最大的体会就是,树上每个节点的标号其实就是人们思维上那个点应该出现的value的索引值,怎么标并不重要。#include<bits/stdc++.h>typedef long long LL;typedef int lint;using...原创 2019-05-27 22:40:58 · 165 阅读 · 0 评论 -
ACM周赛联盟第二场——塔防游戏
题意:每个塔有保护范围和防御力,一个点的防御力为所有能覆盖这一点的塔的防御力的加和,可以增加k点防御力,问如何分配这些防御力使得所有点最小的防御力最大。思路:最小值最大,明显时二分加贪心。收获:维护了两个值,第一个是每个点可到达的最远点,这个最开始想用线段树来进行区间修改维护,但后来发现用优先队列扫一遍就解决了。第二个时每个点当前的防御值累加和,一开始想用线段树来进行区间修改,后来发现用差...原创 2019-05-17 22:17:32 · 203 阅读 · 0 评论 -
luoguP1032
字符串骚操作str.repalce( int s,int len,string str )将起点为s,长度为len的字符串替换成strstr.insert( int s,string str )起点为s,插入str划重点,这题要是用insert一首凉凉。因为删除操作后下表会改变,insert个鬼哦#include <bits/stdc++.h>using ...原创 2019-05-26 21:14:10 · 145 阅读 · 0 评论 -
bzoj 1565植物大战僵尸
题意:很麻烦,就不说了思路:有向闭合图:闭合图中任意点的后继还在闭合图中。 物理意义:一个事件发生,他所有的前提都需要发生 在任意有向带权图中,只要有依赖关系需要解决,最大权闭合子图都普遍成立。 拓扑排序中没有遍历到的点就是不可达点,不可达点不能在网络流中出现。为啥呢,我试了一下,把这些点放入网络流中 ...原创 2019-05-16 22:22:47 · 146 阅读 · 0 评论 -
bzoj 3280 小R的烦恼
题意:n天,m个学校,k个医院。每天需要a[i]个人,这a[i]个人工作后处于濒死状态,你可以选择把濒死状态的人送去医院,治好后还可以继续工作。每个医院i救治一个人需要d[i]天,费用q[i]元。学校 i 中一个人工作一天薪酬为p[ i ].思路: 时间为一个天然序,第i天的决策为从健康的人中选择a[i]个人。并且这a[i]个人变为濒死的人。流量可以理解为决策的选择。那么...原创 2019-05-14 11:06:50 · 181 阅读 · 0 评论 -
POJ 2449 K短路(A*)
POJ 2449复杂度O(nk)注意图不连通 起始点终点为同一点的情况#include <cstdio>#include<queue>#include<cstring>using namespace std;typedef long long LL;const LL maxn = 1000 + 100;const LL maxm = 2000...原创 2019-04-23 19:43:33 · 184 阅读 · 0 评论 -
codeforces educational round 68 E - Count The Rectangles
这个代码不太好写,应该是我的方法丑了吧。我的思路是将答案按照下边界所属的线段进行分类。首先,我们提取出所有的横线,并按照y值排序。对于每一条横线 p,我们从小到大枚举y值大于他的横线 q(类似于扫描线的思想)。并用线段树维护对于当前的横线q,竖线的下端点纵坐标小于横线p的纵坐标,并且上端点的y值大于等于横线q的y值的竖线的x值。然后答案的统计就是查询两条横线相交的区间内竖线的个数 x 。...原创 2019-07-15 22:04:10 · 248 阅读 · 0 评论