- 博客(4609)
- 收藏
- 关注
转载 线性基
P3857 [TJOI2008]彩灯题意:给定n个数字 问最多能异或出多少个数字题解: 只需要计算出线性基能插入多少个基底即可 基底选与不选 所以答案为 2^基底数量#include<bits/stdc++.h>using namespace std;#define rep(i,a,b) for(int i=(a);i<=...
2019-09-25 21:31:00
447
转载 P4585 [FJOI2015]火星商店问题 线段树分治+可持久化trie树
题意:有编号为1-n的商店 每个商店有一个永久化的商品价值为v 操作1:时间过了一天 第x商店增加了一个价值为val的货物操作2:该火星人有自己的密码值x 问第L个商店到第R个商店的 当前天-d+1 到 当前天 的所有货物中(包括永久化商品) 异或x的最大值最大异或值显然是可持久化trie树一开始永久化的话在一开始更新即可建立一棵时间线段树...
2019-09-25 20:24:00
478
转载 斜率优化
如果转移方程中含有既有i 的项又有j的项 往往可以考虑斜率优化斜率优化的目标是将dp式转化为 y=kx+b 这种形式 P3195 [HNOI2008]玩具装箱TOY题意:有1-n个玩具需要打包 每个玩具的有其长度 可以一段区间一段区间地打包 问打包完所有地玩具需要的最小代价打包一段区间的代价为 玩具个数-1 加上所有玩具的长度 减L 的平方 ...
2019-09-25 17:00:00
490
转载 Codeforces Round #584 - Dasha Code Championship - Elimination Round (rated, open for everyone, Div. ...
E2. Rotate Columns (hard version)题意:有一个n行m列的矩阵 每一列可以任意旋转平移 问经过操作后每一行的最大值能为多少注意到n非常小 m很大 首先可以优化m 显然只要考虑最大值最大的n列即可所以就转化为了一个n行n列的矩阵可以考虑状压dp注意要维护三个数组#include<bits/st...
2019-09-25 16:07:00
129
转载 Codeforces Round #588 (Div. 2)
D. Marcin and Training Camp题意: 每个人有两个属性ai bi bi表示这个人的能力值 ai的二进制表示为这个人会哪几种技能当b会某种技能而a不会的时候 那么a佩服b 所以也可以互相佩服需要组建一个团队 至少两个人 要求团队中不存在一个人没有佩服的对象 问团队的最大能力值如果团队中一个人的能力值不被其他一个人的能力值所完全碾...
2019-09-25 15:47:00
67
转载 Codeforces Round #587 (Div. 3) F - Wi-Fi dp 最短路
题意:给定n个房间 要给每个房间连上网络 第i个房间连上网络的花费为i 有些房间可以装上路由器 如果装上路由器 那么左边k个和右边k个都可以被装上网络 且装路由器的费用也为i问最少花费使得所有的房间装上网络dp 用单调队列优化一下即可 :#include<bits/stdc++.h>using namespace std;...
2019-09-22 11:24:00
114
转载 重写二路归并排序
利用两个数组互相作为对方的辅助数组来实现,先二路划分,再从单个元素开始归并。代码如下:/* 二路归并排序,采用了递归的做法,它首先将整个队列划分为两个部分,再一次对这两个部分进行二分操作, 直到每个部分只包含一个元素为止,然后再依次对这些只包含一个元素的部分开始进行归并,然后递归操作会依次向上 进行回溯,最后返回已排好序的队列,排序完成。 ...
2019-09-22 10:30:00
56
转载 P4587 [FJOI2016]神秘数 主席树
现给定n个正整数a[1]..a[n],m个询问,每次询问给定一个区间l,r,求由a[l],a[l+1],…,a[r]所构成的可重复数字集合的神秘数。输出最小的不可由该集合所构成的数看到区间很明显是主席树#include<bits/stdc++.h>using namespace std;#define rep(i,...
2019-09-22 10:24:00
69
转载 P4559 [JSOI2018]列队 主席树
题意: 有n个人 每个人有其一开始所在的位置 有m个询问 l r k 问编号为l到r的人填满区间 k----k+r-l 需要的最少距离很容易发现按照原来的相对位置来填k开始的位置肯定是一种最优解lr的编号区间很容易想到主席树所以问题转化为如何优化主席树的询问 1、如果遍历每个人 然后累和每个人的距离 肯定会超时 复杂度接近on2、...
2019-09-21 14:13:00
78
转载 Maven 设置阿里镜像
Maven 默认的中央仓库速度慢,可以考虑换成阿里的镜像。修改方式主要有两种。1、针对所有项目修改中央仓库Maven 提供了全局配置文件 settings.xml 针对所有项目有效,位置是在安装目录 conf 下。可以将 settings.xml 文件拷贝到当前用户目录 .m2 下,此时只针对当前用户用效。 在 settings.xml 下找到 <mirrors> 节点,...
2019-09-20 21:31:00
104
转载 P4098 [HEOI2013]ALO 可持久化01trie
与区间某数得异或最大值很简单 用01trie即可麻烦得是维护次小值所管辖得范围将次小值从大到小排列 并将其原来得下表插入set 所以左端点就是前驱的前驱+1 右端点就是后继的后继-1#include<bits/stdc++.h>using namespace std;#define rep(i,a,b) f...
2019-09-20 21:13:00
78
转载 4771: 七彩树 主席树
题意:给定一棵树 每个结点有一个颜色 然后又m个询问询问:x d 问x的子树内不超过dep[x]+d 深度的子树结点一共有多少个颜色?1、可以先将问题简化为问整个子树内有多少个不同的颜色 暴力解法树套树 但是可以用一个技巧来快速维护: 一个颜色一个颜色地处理 把所有相同颜色的点按照dfs序排序,每个点给自己的位置贡献1,相邻的两个点给lca贡...
2019-09-20 20:12:00
70
转载 P2664 树上游戏 点分治
树上点对问题很容易就想到点分治 点分治已经用掉一个log了 那么我们的问题就转化为:在 o(n) 时间内求出 以该根为lca的所有的点对的答案!1、对于树上的一个i 如果i的颜色在i到根的链上是第一次出现 那么可以对树上其他的点j (不考虑特殊情况)产生贡献siz[i] (j与子树i的每一个点都产生贡献1)2、dfs求出sum(整棵树所有的贡献...
2019-09-19 21:09:00
86
转载 P4886 快递员 点分治
题意:给定一个边权树 和m个点对 求一个点 最小化到m个点对的距离的最大值 与点对(a,b)的距离定义为 dis(x-a) + dis(x-b)点分治思想的运用先随便以一个点作为所求的点 并记录所有的最大距离点对然后遍历最大距离点对如果一个点对两个点在根的两棵子树上 那么显然不可能再减小答案了 return所以经过上面的筛选每个...
2019-09-19 17:23:00
82
转载 P3527 [POI2011]MET-Meteors 整体二分
给定一个环,每个节点有一个所属国家,k次事件,每次对[l,r]区间上的每个点点权加上一个值,求每个国家最早多少次操作之后所有点的点权和能达到一个值非常好的整体二分模板题之前的修改和询问都是全部扔到结构体里面一起分治的 这题不用这样(因为是先修改后询问的) 所以只对询问进行分治即可 可以减少很多码量 (但之前的模板题不适合这样 之前二分的为值域 如果遍历值域的话复杂度...
2019-09-19 11:12:00
87
转载 P4149 [IOI2011]Race 点分治
题意:给定一棵有边权的树 和一个k 问最少多少边(连续)的长度和为k 解法一(也是我一开始的写法)遍历所有的边 并且给每个边设置一个标记属于某课子树 然后用lowerbound和upperbound找到满足的边 遍历一遍统计答案 用了4s解法二(只用2s)边数太多的时候上面的算法复杂度接近 n^2logn QAQ可以做成3n的 并且每一棵每...
2019-09-18 20:50:00
96
转载 什么是好代码?
如果从好维护的角度出发,逻辑清晰,流程明确的直白代码相较于一些技巧性的"聪明"代码更好.转载于:https://www.cnblogs.com/tangtang1234/p/11543814.html
2019-09-18 17:18:00
74
转载 P4178 Tree 点分治
统计路径只管统计所有的即可 不用考虑减可以用双指针统计!!!也可用二分 麻烦一些 也更加满一些#include<bits/stdc++.h>using namespace std;#define rep(i,a,b) for(int i=(a);i<=(b);i++)#define repp(i,a,b) for(in...
2019-09-17 20:52:00
77
转载 P2634 [国家集训队]聪聪可可 点分治
点分治模板题注意calc计算的时候 注意一个端点经过x的链也是要统计的!!#include<bits/stdc++.h>using namespace std;#define rep(i,a,b) for(int i=(a);i<=(b);i++)#define repp(i,a,b) for(int i=(a);i&g...
2019-09-17 19:50:00
69
转载 GPU Skinning
这个工具的作用是同一种角色在同屏里面出现一大堆时,可以大幅度的降低DrawCall。我试了一下,感觉挺有意思的,各位可以试试。它的原理实际上是把骨骼矩阵存在配置文件里面,然后通过特殊的shader,计算顶点的位置,直接在GPU端得到了网格模型的顶点在动画帧该在的位置。这一切由于是在GPU端直接得出结果,所以根本不会产生CPU的合并和DrawCall。这种做法,其实是很典型GPU骨骼动画做...
2019-09-17 16:36:00
182
转载 C# TransactionScope 事务类
微软自带的TransactionScope(.Net Framework 2之后)是个好东东,提供的功能也很强大。 首先说说TransactionScope是什么,并能为我们做什么事情。其实看Transaction(事务)这个单词,我想大家已经能猜到个大概。不同于SqlTransaction的事务,因为现在做的项目都有不同的分层架构,如果不在数据库操作层里面做的话,那么使用Tran...
2019-09-16 10:04:00
131
转载 十一、流程控制结构
目录 介绍 分支结构 一、if函数 二、case函数 三、if结构 循环结构 分类 循环控制 语法 语法 语法 案例 循环结构...
2019-09-15 18:09:00
80
转载 密码学参考书
密码学参考书代数A Computational Introduction to Number Theory and Algebra by Victor ShoupAlgebra by Michael Artin近世代数 by 欧阳毅 叶郁密码学A Graduate Course in Applied Cryptography by Dan Boneh and Victo...
2019-09-15 14:25:00
397
转载 九、变量的介绍
目录 变量分类 一、系统变量 二、自定义变量 变量分类一、系统变量说明:变量由系统提供,不是用户自定义,属于服务器层面使用的语法:查看所有的系统变量show global | session variables;查看满足条件的系统变量...
2019-09-14 20:13:00
56
转载 Fish eating fruit 点分治
树上任意两点之间的路径按照模 3 为 012 分类,将两点间距离加和(边权累和) ,乘 2 即为答案。点分治模板题#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>using namespace std;...
2019-09-14 18:37:00
73
转载 第六个知识点:我们怎么把NP问题解释成一组可以在多项式内证明的命题
第六个知识点:我们怎么把NP问题解释成一组可以在多项式内证明的命题原文地址:http://bristolcrypto.blogspot.com/2014/11/52-things-number-6-how-can-we-interpret.html这是密码学52件事的第六篇,我们继续解释复杂性理论,这篇我们给NP问题另一个定义。(注:就是说这节中,我们把"问题是否为NP的"转换为另一...
2019-09-14 12:02:00
222
转载 第五个知识点 复杂性为NP类是什么意思
第五个知识点 复杂性为NP类是什么意思原文地址:http://bristolcrypto.blogspot.com/2014/11/52-things-number-5-what-is-meant-by.html这是52个密码学知识点的第五篇。我们继续关于NP的复杂性理论部分。上周,Ryan给我们介绍了P类复杂问题的定义:P 就是一类能被确定的图灵机在有限时间内判定的语言。...
2019-09-14 11:19:00
200
转载 bzoj 4260: Codechef REBXOR 01trie
类似单调栈维护一个左边的最大值和一个右边的最大值即可#include<bits/stdc++.h>using namespace std;#define rep(i,a,b) for(int i=(a);i<=(b);i++)#define repp(i,a,b) for(int i=(a);i>=(b);--i)#...
2019-09-14 10:53:00
72
转载 第四个知识点 P类复杂问题
第四个知识点 P类复杂问题原文地址:http://bristolcrypto.blogspot.com/2014/10/52-things-number-4-complexity-class-p.html这个是密码学52件事第四篇,和理论密码学的第一篇。在这篇中我被要求定义P类复杂问题。我对计算理论科学知道的非常少当我开始我的PhD,而且我确信很多人和我一样。因此这篇文章从最简单的开...
2019-09-13 21:09:00
282
转载 第三个知识点 影响计算能力和存储能力的因素
第三个知识点 影响计算能力和存储能力的因素原文地址:http://bristolcrypto.blogspot.com/2014/10/52-things-q3-computational-and-storage.html这个是密码学52件事的第三个知识点,这些问题被总结成密码学博士在第一年必须要知道的事情。我们将在接下里的一年里每周讨论一个问题。我是被安排的第三个问题的学生。问题...
2019-09-13 21:03:00
460
转载 RSA
RSARSA简介RSA定义相信只要对密码学了解的同学肯定听说过RSA,它是三个发明者名词的缩写(Rivest-Shamir-Adleman),也是最早的公钥密码学系统之一,也是可能是应用最广泛的公钥密码学系统。[1]这里给它两个定义广义的说,RSA密码系统(RSA cryptosystem)是基于RSA问题的公钥密码学系统狭义的说,RSA假设(RSA assumption)是...
2019-09-13 20:52:00
377
转载 P4592 [TJOI2018]异或 树链剖分 01trie
树剖上维护可持久化01trie即可#include<bits/stdc++.h>using namespace std;#define rep(i,a,b) for(int i=(a);i<=(b);i++)#define repp(i,a,b) for(int i=(a);i>=(b);--i)#define ll l...
2019-09-13 13:22:00
85
转载 P5283 [十二省联考2019]异或粽子 可持久化字典树
非常类似那道超级钢琴维护一个可持久化01trie即可#include<bits/stdc++.h>using namespace std;#define rep(i,a,b) for(int i=(a);i<=(b);i++)#define repp(i,a,b) for(int i=(a);i>=(b);--i)...
2019-09-12 17:49:00
82
转载 JS 日期格式化,留作参考
1 <!DOCTYPE html> 2 <html lang="en"> 3 4 <head> 5 <meta charset="UTF-8"> 6 <meta name="viewport" content="width=device-width, initial-scale=1.0"&g...
2019-09-12 17:25:00
94
转载 Tomcat原理系列之六:详解socket如何封装成request(上)
目录 参与者 总结 @(详解socket如何封装成request)看源码虽然不能马上提升你的编码水平。但能让你更好的理解编程。因为我们tomcat多是以NIO形式处理请求,所以本系列讲的都是NIO类型请求的处理相关组件。在讲解过程之前,把相关概念理解是非常关键的。参与者...
2019-09-12 16:56:00
182
转载 P3293 [SCOI2016]美味 最大异或值 主席树
可以先简化一下问题 看作是给你一个b 问再区间l r 内的数与之异或的最大值显然是从最高位到最低位开始贪心主席树负责查询区间内是否有这个数#include<bits/stdc++.h>using namespace std;#define rep(i,a,b) for(int i=(a);i&l...
2019-09-12 16:17:00
94
转载 P4735 最大异或和 可持久化trie树
可持久化01trie类似主席树思想 但是不支持版本差(也可以加一个siz 做差) 只能再维护一个左端点的最大值即可#include<bits/stdc++.h>using namespace std;#define rep(i,a,b) for(int i=(a);i<=(b);i++)#define ...
2019-09-12 15:33:00
109
转载 P4551 最长异或路径 trie树
一般遇到异或 很多题目需要构建01trie这题只要构建01树 将n个点每个点到根节点(1)的异或路径放入字典树 然后再对这n条到根节点的异或路径求最大值即可#include<bits/stdc++.h>using namespace std;#define rep(i,a,b) for(int i=(a);i&...
2019-09-12 14:02:00
95
转载 P2048 [NOI2010]超级钢琴 主席树+优先队列
首先用前缀和 o1 地维护区间和对于每个序列尾 将将满足长度的序列的最大值放入优先队列里 然后每次弹出一个 将 该尾部的序列的这个的前驱放入优先队列 重复k次即可 用主席树来维护即可#include<bits/stdc++.h>using namespace std;#define rep(i,a,b) for(...
2019-09-11 20:33:00
80
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人