ICode9

精准搜索请尝试: 精确搜索
  • loj 6088 可持久化最长不降子序列2019-09-03 19:50:45

        我们对最长不下降子序的单调序列进行维护,用可持久化平衡树来维护。  (ps我写的好像是主席树)   1 #include<bits/stdc++.h> 2 using namespace std; 3 int const N=500000+10; 4 int const M=N*20; 5 int rt[N],sz[M],mx[M],sum,n,ch[M][2]; 6 int find(int x

  • The 2019 Asia Yinchuan First Round Online Programming L. Continuous Intervals —— 线段树2019-08-31 20:41:42

    This way 题意: 给你一个数组,一个区间视为有效的当且仅当这个区间排序之后,任意两个连续的数的差的绝对值不超过1,问你有多少个有效的区间 题解: 今天又是莫干山吗。。。 这个题意翻译一下就是:区间最大值-区间最小值+1=区间不同值的个数 那么我们用线段树维护最大值-最小值-不

  • P4198 楼房重建2019-08-28 23:51:53

    题面 https://www.luogu.org/problem/P4198 题解 #include<bits/stdc++.h>using namespace std;const int N=1e5+50;int n,m;double a[N];struct node{ double mx; int len;} tt[4*N];void pushup1(int x){ tt[x].mx=max(tt[x<<1].mx,tt[x<<1|1].mx);}int p

  • POJ - 3974 Palindrome (Manacher模板+讲解)2019-08-28 18:00:09

    题意: 多个输入样例,以字符串END结束。对于每个串输出其最长回文子串 思路: 对于回文串来说,我们可能一开始会想到 \(O(n^2)\)的 循环中心位置然后往左右两端匹配。然后Manacher算法则可以将其直接降到 \(O(n)\) ,运用的则是回文串本身对称性的原理。 由于任意一个字符串长度有奇偶,对

  • 滑雪 (北京大学ACM-ICPC竞赛训练暑期课 )2019-08-27 23:01:24

    描述Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道载一个区域中最长的滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子 1 2 3 4

  • 大数模板(新) +-*2019-08-27 22:03:00

    const int MX = 1e6+5; struct Bignum{//长度为len,tag==1?负数:正数,[0,len) int a[MX],len,tag; }; int n2[MX],n3[MX]; void strToBigNum(Bignum &x,char *y){ //将字符串转换成大数 x.len=strlen(y);x.tag=0; for(int i=0;i<x.len;i++) x.a[i]=y[i]-'0'; }

  • HDU 6686 Rikka with Travels 树的直径2019-08-25 14:02:39

    题意:定义两点之间的距离为从一个点到另一个点经过的点数之和(包括这两个点),设二元组(x, y)为两条不相交的路径,一条长度为x,一条长度为y,问二元组(x, y)出现了多少次? 思路:直接上jls的讲解: 基础直径练习题。考虑判断 能不能出现。劼论:任意取树上的一条直径,那么如果 能出现,那么一定存在一

  • CCPC-Wannafly & Comet OJ 夏季欢乐赛(2019)茶颜悦色(扫描线)2019-08-17 14:43:53

    #include<iostream> #include<cstring> #include<cstdio> #include<queue> #include<cstdlib> #include<cmath> #include<stack> #include<map> #include<string> #include<vector> #include<set> #includ

  • No.58-leetcode646-最长上升对的链2019-08-12 19:39:02

    和最长上升子序列相同: 不过先排个序 class Solution { public: static bool cmp(const vector<int>& a,const vector<int>& b){ if(a[1] < b[1]) return true; if(a[1] == b[1] && a[0] < b[0]) return true; return false;

  • BZOJ 3836 Codeforces 280D k-Maximum Subsequence Sum (模拟费用流、线段树)2019-08-12 19:02:04

    题目链接 (BZOJ) https://www.lydsy.com/JudgeOnline/problem.php?id=3836 (Codeforces) http://codeforces.com/contest/280/problem/D 题解 似乎是最广为人知的模拟费用流题目。 线段树维护DP可以做,但是合并的复杂度是\(O(k^2)\), 会TLE. 考虑做\(k\)次费用流,很容易建出一个图

  • 仓库建设(HYSBZ - 1096)2019-08-11 17:02:37

    题目 L公司有N个工厂,由高到底分布在一座山上。如图所示,工厂1在山顶,工厂N在山脚。由于这座山处于高原内陆地区(干燥少雨),L公司一般把产品直接堆放在露天,以节省费用。 突然有一天,L公司的总裁L先生接到气象 部门的电话,被告知三天之后将有一场暴雨,于是L先生决定紧急在某些工厂建立

  • hdu5283 Senior's Fish(线段树+均摊分析)2019-08-10 20:03:13

    传送门 考虑到每只鱼只会进网出网一次,于是直接建四棵线段树维护鱼的状态并建一棵树状数组维护答案即可。 注意有多组数据 代码: #include<bits/stdc++.h> #define ri register int using namespace std; const int rlen=1<<18|1; inline char gc(){ static char buf[rlen],*

  • F-maximum clique 1_2019牛客暑期多校训练营(第五场)2019-08-07 21:54:14

    题意 给出n个不同的数字\(a_i\),求出最大的子集,使得子集内任意两个数在二进制下至少有两位不同。 题解 先对任意两个二进制位只有一个不同的两个数连边,那么问题就转化成找出最多的点集,任意两点没有边,也就是最大独立集问题。普通的图求最大独立集是N-P困难的,但是二分图求最大独立集

  • kd-tree2019-08-04 20:04:44

    纪念oi路上第一颗kd-tree 板子题 说说主要思想,考虑二叉搜索树来统计答案,玄学乱搞的地方就是减枝了。通过不断换维(不一定一直换,只要保证时间空间都尽量优就行),用<algorithm>库中的nth_element来找到中位数式的元素,此元素就是二叉搜索树对应的元素。最大值用A*思想减支,最小值用边界判

  • Manacher(最长递减回文串)2019-08-03 21:02:19

    http://acm.hdu.edu.cn/showproblem.php?pid=4513 Problem Description   吉哥又想出了一个新的完美队形游戏!  假设有n个人按顺序站在他的面前,他们的身高分别是h[1], h[2] ... h[n],吉哥希望从中挑出一些人,让这些人形成一个新的队形,新的队形若满足以下三点要求,则就是新的完美队

  • 算法竞赛进阶指南 图论 最短路2019-08-03 16:01:50

    341 最优贸易 题意:一张图,由单向边和双向边组成,每个节点有固定的权值,求从1走到n的最大权值之差 (不知道为啥放最短路里,明明一个bfs就可以解决了 存边时除了单向双向边要注意,还要存一张反边图 bfs一遍记录从1到n每个节点到1的最小权值 再bfs一遍跑反边图,记录从n到1每个节点到n的最大权

  • I-string_2019牛客暑期多校训练营(第四场)2019-08-02 19:02:30

    题意 当a != b且a != rev(b)则认为a串与b串不相等,rev(b)表示b串的反串,例如rev(abcd) = dcba 给出一个串求出该串所有不相等的子串个数 题解 先利用后缀数组求出s#rev(s)的不相等子串个数,再扣掉包含字符‘#’的子串个数,包含‘#’的子串个数为\((len(s)+1)^2\),具体取法为以#及左边

  • P5043 【模板】树同构([BJOI2015]树的同构)2019-08-01 22:04:27

    P5043 【模板】树同构([BJOI2015]树的同构) 思路:树hash,先找树重心,重心最多两个,然后从以重心为根求出树的hash值,放进map里。 代码: #pragma GCC optimize(2) #pragma GCC optimize(3) #pragma GCC optimize(4) #include<bits/stdc++.h> using namespace std; #define y1 y11 #define fi

  • 问题 A: 【动态规划】机器人军团(最大不下降子序列)2019-08-01 19:06:14

    黑色的飞鸟掠过天空,我站在城中,看时间燃成灰烬,哗哗作响...... 题目描述 邪狼:“怎么感觉这些机器人比我还聪明?不是说人工智能永远不能超越人类吗?” 天顶星人:“你们真是目光短浅,自大而愚蠢!你要知道,如果有意识的智慧生命在无穷无尽的岁月里居然做不到无意识的宇宙曾做过的事(产生智

  • 木棒2019-07-31 15:03:37

    木棒 给出n件物品,第i件物品的质量为\(c_i\),询问分成的一些,保证每组物品的质量之和相等,使每组物品质量之和尽可能下,其中\(n\leq 64,c_i\leq 50\)。 解 数据范围很小,可以考虑搜索,以下给出优化过程。 显然当每组质量\(s\)相等,设所有物品的总质量为\(sum\),那么s必然为\(sum\)的约数,

  • 洛谷P1072 Hankson的趣味题2019-07-31 14:04:06

    洛谷P1072 Hankson的趣味题题目题目描述输入输出格式输入格式输出格式输入输出样例输入样例输出样例题解 题目 题目描述 原题 Hanks博士是 BT(Bio-Tech,生物技术)领域的知名专家,他的儿子名叫Hankson。现在,刚刚放学回家的Hankson正在思考一个有趣的问题。 今天在课堂上,老师讲

  • UAP Javascript Code2019-07-31 10:08:21

    原文链接:http://www.cnblogs.com/yefengmeander/p/3466761.html /*******************************导入包开始**************************************/ $import("mx.containers.Accordion"); $import("mx.containers.Panel"); $import(

  • UAP Resource2019-07-31 10:07:26

    原文链接:http://www.cnblogs.com/yefengmeander/p/3466762.html UAP Readme: 上机考试开发步骤: 1.建立uap项目配置数据库连接 2.配置server地址http://localhost:8080/sguap-server/environment/platform/Version1.0.0 3.白名单开启相关功能:client_includ

  • 序列终结者2019-07-30 21:51:25

    题目 感觉没什么好说的 模板题 反正splay如果不翻转,可以线段树 #include<bits/stdc++.h> #define re return #define MAX(a,b) (a)>(b)?(a):(b) #define inc(i,l,r) for(int i=l;i<=r;++i) const int maxn=50005; template<typename T>inline void rd(T&x) { char c;bool f=

  • java实现第六届蓝桥杯切开字符串2019-07-29 20:05:14

    切开字符串 Pear有一个字符串,不过他希望把它切成两段。 这是一个长度为N(<=10^5)的字符串。 Pear希望选择一个位置,把字符串不重复不遗漏地切成两段,长度分别是t和N-t(这两段都必须非空)。 Pear用如下方式评估切割的方案: 定义“正回文子串”为:长度为奇数的回文子串。 设切成的

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有