总结
猹猹猹
编译错误!
展开
-
Crazy Calendar LightOJ - 1393
题意:R*C方格中,每个格子有一定石子,每次移动每格任意数量石子,只能向下或者向右动一格,不能移动为败#include <cstdio>#include <cmath>#include <cstring>#include <algorithm>typedef long long LL;using namespace std;const ...原创 2019-10-20 16:48:25 · 102 阅读 · 0 评论 -
hdu-4348 To the moon 可持久化线段树 | 区间更新
大意:给定一些数据,操作为:1.从 i 到 j 数据加 d ,时间戳加1。2.当前时间戳,从 i 到 j 的数据和。3.t 时间戳对应的操作完成时,i 到 j 的数据和。4.时间戳恢复到 t 。标准在线主席树,不过维护的不是权值线段树,而是正常区间和的线段树。按照一般主席树的写法,我们复用之前的结点建树即可,不过这里是区间更新,有时会新建两条新链。一般,我们维护lz标记时,pu...原创 2019-10-13 22:27:01 · 203 阅读 · 0 评论 -
Count on a tree SPOJ - COT | 主席树 & lca
大意:给出n个点,这n个点上各有一个代表该点权值的数,这n个点之间相互连接构成无向树,问在u到v结点的路径上,第k大的权值是多少?考虑树上求两点之间求权值和的题目,我们用dis[x]表示x点到根结点的权值和,那么x与y之间权值和就是dis[x]+dis[y]-dis[lca]-dis[lca的父亲]。同理,我们可以以每个结点为根结点建立保存此点到根节点路径上所有点的权值线段树。代码如下,...原创 2019-10-13 21:50:37 · 80 阅读 · 0 评论 -
动态主席树(主席树套树状数组)zoj 2112 Dynamic Rankings 详解
既然看到这个题了,相信静态主席树求区间第k大应该不成问题了, 此题在原有基础上,不过添加了单点修改的要求。那么来说一下大体思路:首先,用题目给的n个原始数据像之前一样建立主席树。对于修改,我们不是要真的去修改我们已经建立好的主席树,而是用另一个数组来维护修改所造成的变化,例如:要求 i 位置到 j 位置的第k大,之前的策略是找到第 i-1 和 第 j 棵树,两个权值线段树根据左右子节点的权值下...原创 2019-10-10 20:04:57 · 153 阅读 · 0 评论 -
HDU 5492 Find a path 2015合肥
N* M(1<=N,M<=30)的矩阵,矩阵的每一格有一个非负权值(<=30),从(1,1)出发,每次只能向右或向下移动,到达(n,m)时,经过的格子的权值形成一序列,求此序列方差最小值*(n-m+1)。图片有点大这样,我们要求的就是平方和,与和的平方,利用dp来编写。dp[i][j][k]表示在i,j这个点,元素的和为k时,元素的平方和的最小值。dp[i][j][k] ...原创 2019-09-10 21:16:46 · 95 阅读 · 0 评论 -
Buses and People + CodeForces - 160E
Buses and People 三维处理题目大意:有n辆公交车,每辆公交车有s(起始点),f(终点),t(发车时间) ,有m个人,每个人有l(起点),r(终点),t(出现时间)对于一个人,当t(人)<=t(车), s<=l,r <=f 时就能上这辆车,问能上的发车时间最早的是那一辆类似三维偏序问题,有三个维度需要我们解决。首先,车和人都有l,r,t,三个属性,先按照l排...原创 2019-09-04 19:59:23 · 219 阅读 · 0 评论 -
Codeforces 1051D Bicolorings (对内存空间上了一课)
Codeforces 1051D Bicolorings题目不是很难,有多种方法可解,但当时真正难到我的是我不知道怎么存储这个图。1≤n,m≤5x104, n x m≤4x105 的数据量让我不知道怎么开数组,直接二维数组内存会超,然后我又想用string,也非常麻烦。之后在cy大佬的指示下,在main中直接开边长数组,4x105的数量级不会炸栈。此外,防止出现更大的数量级,可以用mal...原创 2019-08-01 21:18:22 · 144 阅读 · 1 评论 -
Letters Shop (Codeforces)
Letters Shop今天下午被卡出翔,事后得cy大佬指点,才明白如何解题。在此写个题解。题目大意为给定一个主字符串,然后输入若干字符串,这些字符串中的字符都是可以从主字符中拿到,问若只能从主字符串中从左到右一个个取字符,最少要取多少个能构成。若直接一个个比较跑,没有悬念的T了,所以我们要预处理一下。字符串中所有元素都是小写字母,可以记录下主字符串中字符x第i次出现的位置。读入要...原创 2019-08-01 20:28:25 · 159 阅读 · 0 评论 -
POJ 1094 Sorting It All Out 拓扑排序
POJ 1094 Sorting It All Out大意:给定A<B B<C形式关系若干,问能否构成严格的从小到大的排序有许多坑点,首先,输出有三种形式:在第x组序列给出时可以构成严格的排序abcd…在第x组序列给出时出现矛盾不能确定排序的序列前两者的优先级高于第三者我们每输入一组关系,都进行一次拓扑排序,判断关系是能严格排序,出现矛盾,还是不确定,一旦这组关系是严...原创 2019-07-29 21:32:40 · 89 阅读 · 0 评论 -
Wormholes(虫洞) 判断负环 + 队列优化Bellman邻接表实现
Wormholes 图中有无负环的判断John在他的农场中闲逛时发现了许多虫洞。虫洞可以看作一条十分奇特的有向边,并可以使你返回到过去的一个时刻(相对你进入虫洞之前)。John的每个农场有M条小路(无向边)连接着N (从1…N标号)块地,并有W个虫洞(有向边)。其中1<=N<=500,1<=M<=2500,1<=W<=200。 现在John想借助这些虫洞来回到...原创 2019-07-29 20:55:08 · 189 阅读 · 1 评论 -
POJ 1062 昂贵的聘礼
vj链接:https://cn.vjudge.net/problem/OpenJ_Bailian-1062题目可以转换为最短路线的问题,首先,关于每个物品的原价,可以假设有一个源点(设下标为0),即物品到这个源点的距离。1可以用2加x元换,那么可以用一条1到2的距离为x的路线表示,这样,问题就转换成了求1到0的最短距离。(这样设计路线可能怪怪的,可以把方向反过来)还有一个需要解决的问题,就是...原创 2019-07-03 11:26:25 · 75 阅读 · 0 评论 -
STL常用模板
笔记一下,日后相忘#include <algorithm>sort(a,a+n);stable_sort(a,a+n); //稳定排序reverse(a,a+n);//反转//数组有序 unnique(a,a+n);//去重 返回尾部指针,注意长度会变化len = unnique(a,a+n) - a;//数组有序 log(n)lower_bound(a,a+n...原创 2019-06-01 19:33:57 · 474 阅读 · 0 评论 -
01背包初探
关于01背包自己看了看01背包的一些东西,感觉递推式对新手还是很不友好的,还有初始化的一些问题,老是迷迷糊糊小小的总结一下吧#include<bits/stdc++.h>using namespace std;int dp[10000][10000], w[10000], v[10000];int main(){ int n,m;//最大承重n,m个物品 ...原创 2019-05-02 17:32:09 · 100 阅读 · 0 评论