题意 概括为主席树区间加区间询问 题解 记录一下标记永久化的方法.每个点存add和sum两个标记,表示这个区间整个加多少,区间和是多少(这个区间和不包括祖先结点区间加) 然后区间加的时候,给路上每结点的sum更新,然后到达完整区间后更新add.询问的时候把路径上所有结点(不包括自己)的add加起来乘以区间长度,再加上sum 大概思想就是:区间内的加法用sum维护,区间外的加法询问的时候再考虑贡献 #include <algorithm> #include <cstdio> usin…
「SPOJ 3105」Power Modulo Inverted 传送门 题目大意: 求关于 \(x\) 的方程 \[a^x \equiv b \;(\mathrm{mod}\; p) \] 的最小自然数解,不保证 \(a,p\) 互质 如果保证 \(a,p\) 互质,那么可以直接使用 \(\texttt{BSGS}\) 算法通过本题. 对于这道题目,我们考虑将式子变形 令 \(t=\gcd(a,p)\),则有 \[\frac{a}{t}a^{x-1} \equiv \frac{b}{t} \;…
在自己的主機上透過 Visual Studio 2013 與 IISExpress 開發與測試都還正常,但只要部署到測試機或正式機,就是沒辦法順利執行,卡關許久之後找我協助.我發現錯誤訊息確實很「一般」,訊息是:「 無法載入檔案或組件 'LinqToExcel' 或其相依性的其中之一. 試圖載入格式錯誤的程式. 」或是英文版的「 Could not load file or assembly 'LinqToExcel' or one of its dependencies. An attempt…
原文出處  http://www.dotblogs.com.tw/mis2000lab/archive/2013/08/19/multiple_fileupload_asp_net_20130819.aspx FileUpload控件「批次上传 / 多档案同时上传」的范例--以「流水号」产生「变量名称」 之前的两个范例: [C# / ASP.NET]FileUpload控件「批次上传 / 多档案同时上传」的范例(C#语法) [VB / ASP.NET]FileUpload控件「批次上传 / 多档…
由于前两周一直在老家处理重要事情,虽然朋友圈被「微信小程序」刷爆了,但并没有时间深入了解. 昨天回广州之后,第一件事情就是把「微信小程序」相关的文章.开发文档.设计规范全部看了一遍,基本上明白了「微信小程序」是怎么回事,我关注的公众号都很看好「微信小程序」的前景. 作为一个「前端开发者」,确实觉得「微信小程序」是个不错的机会,但从哪个方向投入到这股的热潮中呢?咨询了好几位公众号的作者,得到了以下回复: 开发新的轮子. 赶快投入,开始做一些应用, 大家都去挖金子,你可以去边上卖水. 关注排名100…
spoj传送门 vjudge传送门 主席树板子题. 支持历史版本的区间和,区间和,区间修改和时光倒流. 其中新奇一点的也只有区间修改了,这个东西直接标记永久化就行了. 如果想下传标记的话也行,需要在pushdown的时候新建一波节点. 代码: #include<cstdio> #include<cctype> #define ll long long #define N 100005 using namespace std; inline ll read(){ ll ans=0,w…
给你一个系列\(a[1...n]\),要求可以区间求和,区间更新,也可以回溯过去 经典的主席树板子题,很久以前做的题了,代码太丑回炉重写 PS.题目标题To The Moon也是我最喜欢的游戏之一 这回纯手写(美化)了一遍,意外踩坑了orz 1.不考虑空间开销可使用确实可以pushdown而不使用标记永久化,具体可以pushdown的时候另开左右儿子新节点 2.一个简易可行的节点回收方案是每一个时间戳记录最后一个更新到的节点id 3.可持久化标记是某节点的lazy表示该节点以下的懒惰标记,注意不…
题意 有操作 $0$ $u$:询问有多少个节点 $v$ 满足路径 $u$ 到 $v$ 上所有节点(包括)都拥有相同的颜色$1$ $u$:翻转 $u$ 的颜色 题解 直接用一个 $LCT$ 去暴力删边连边显然会 $T$ 那么只有两个颜色的话就可以建两棵 $LCT$ ,观察到每次单点修改颜色时其子树所包含连通块在原颜色树上与其父亲所代表连通块断开,所以可以看作断开与父节点的边(实际上是点化边的思想),那么其它常规操作即可 注意要建个虚拟节点作为根节点的父亲 注意 $0$ 操作询问的输出,详细解释有在…
# 题目大意 GSS3 - Can you answer these queries III 需要你维护一种数据结构,支持两种操作: 单点修改 求一个区间的最大子段和 # 解题思路 一个区间的最大子段和(GSS),只能通过三种方式转移而来. 左儿子的最大子段和 右儿子的最大子段和 左儿子的最大右子段和+右儿子的最大左子段和 那这就比较好办了.只需要维护四个东西就可以了 sum,区间和 gss,最大子段和 gssl,最大左子段和 gssr,最大右子段和 emmm,比较可做. # 代码 #inclu…
故事的背景如下图,李笑来 老师于10月19日在 知乎Live 开设 一小时建立终生受用的阅读操作系统 的讲座,他老人家看到大家伙报名踊跃,便在微博上发起了一个 猜数量赢取iPhone7 的活动. 因为该活动注明了「不限猜的次数」,我便用 JavaScript 写一个自动转发的脚本,用机器代替手工转发,结果转发不到200次就被 李笑来 老师拉黑了,实在扫兴.与其独自郁闷,不如把技术细节分享给大家,祝大家能早日赢得 iPhone7.我的微博地址是:http://weibo.com/stone0090…
此文是我的出版书籍<React Native 精解与实战>连载分享,此书由机械工业出版社出版,书中详解了 React Native 框架底层原理.React Native 组件布局.组件与 API 的介绍与代码实战,以及 React Native 与 iOS.Android 平台的混合开发底层原理讲解与代码实战演示,精选了大量实例代码,方便读者快速学习. 书籍还配套了视频教程「80 节实战课精通 React Native 开发」,此视频课程建议配合书籍学习,书籍中原理性的东西讲解的比较清晰,而…
To the moon Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 8372    Accepted Submission(s): 1986 Problem Description BackgroundTo The Moon is a independent game released in November 2011, it is…
题目 这题目名字怎么这么长 zky学长讲过的题 非常显然,就是重排之后能形成回文串的话,最多只能有一个字母出现奇数次 又发现这个字符集大小只有\(22\),于是套路的使用状压,把每一条边转化成一个二进制数,求一下根路径前缀异或和 由于异或的性质,我们想得到路径\((x,y)\)的异或值,只需要\(pre_x \bigoplus pre_y\)就可以了 于是我们\(dsu\ on\ tree\),统计一个子树里所有的\(pre\)之后枚举一下拼成什么就好了 代码 #include<cstdio>…
问题描述 在安装 tesseract 的语言包时,由于网络下载速度太慢,我按下 ctrl + z 退出了安装,当再次输入安装命令时,系统报错如下: 解决方法 使用以下命令删除 homebrew 进程锁定. rm -rf /usr/local/var/homebrew/locks 删除锁定之后,再次输入 brew 指令即可成功运行.…
问题描述 在搭建 Selenium 库 + ChromeDriver 爬虫环境时,遇到了无法将 chromedriver 移动到 /usr/bin 目录下的问题,如下图: 一查原来是因为系统有一个 System Integrity Protection (SIP) 系统完整性保护,如果此功能不关闭,是无法移动到 /usr/bin 目录下的. 解决办法 电脑关机,然后在开机时按住 command + R 键,直到出现苹果 logo 和进度条时松开,进入OS X恢复模式. 进入恢复模式后打开[实用工…
PHP虽然提供了 filesize.copy.unlink 等文件操作的函数,但是没有提供 dirsize.copydir.rmdirs 等文件夹操作的函数(rmdir也只能删除空目录).所以只能手动编写这些函数,主要的技巧是通过递归将问题逐层分解,直到分解成可以直接解决的最小子问题. ====================重命名===================== php包含重命名函数,直接使用 rename(oldname,newname,context) =============…
参考:http://www.aipacommander.com/entry/2014/05/26/152247 mysql_secure_installation 依赖重置密码…
题意 你需要维护若干连通快,有两个操作 合并\(x,y\)所在的连通块 询问\(x\)所在连通块中权值从小到大排第\(k\)的结点编号 题解 可以启发式合并\(splay\),感觉比较好些的 一个连通块就是一个\(splay\),每次合并挑小的\(splay\)遍历一遍把点按中序遍历存下来,然后一个一个插入大的\(splay\)就行了:查询就是\(splay\)的\(kth\)操作 这样时间复杂度\(O(n \log n)\),它的证明可以见2018论文集 :董炜隽<浅谈Splay与Treap的…
题意 记\(s_R\)为\(s\)翻转后的串,求一个串最长的形如\(ss_Rss_R\)的子串长度 题解 这有一个复杂度明显\(O(n)\)的做法,思路来自网上某篇博客 一个双倍回文串肯定当且仅当本身是一个回文串且左右两边都是回文串 所以对于右边的回文串,到它中心\(i\)的时候,\(manacher\)记录的\(maxr\)一定\(>i\) 如果满足这个条件,那就判断\(i\).\(i\)关于\(mid\)的对称串是否有交点,有交点就说明这是双倍回文串:还要注意不能以字母为中心,因为回文串必须…
官方文档: https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ThreadPoolExecutor.html 1.简介 public class ThreadPoolExecutor extends AbstractExecutorService An ExecutorService that executes each submitted task using one of possibly several poole…
题意 设\(d(x)\)为\(x\)的约数个数,求\(\sum_{i=1}^{n}\sum_{j=1}^{m}d(ij)\). 题解 首先证个公式: \[d(ij) = \sum_{x|i}\sum_{y|j} [gcd(x,y)=1]\] 可以这么考虑:利用唯一分解定理把\(i,j\)分解,即: $i=\prod_{k = 1}^{m} p_k^{c_k},j=\prod_{k=1}^m p_k^{d_k} $ 那等式左边显然为\(\prod(c_k+d_k+1)\), 然后考虑等式右边在干什…
题意:给定一个\(5\times 6\)的棋盘的\(01\)状态,每次操作可以使它自己和周围四个格子状态取反,求如何操作,输出一个\(01\)矩阵 题解:这题可以通过枚举第一行的状态然后剩下递推来做,但是这里还是写一种好理解的高斯消元解异或方程组的方法. 对于每个格子列一个方程,未知数就是要求的答案矩阵,系数的话把它周围的设为1,其他设为0.然后右边的常数项为它本来的状态.然后就高斯消元嘛. 我用了bitset优化,实际上可能unsigned int或者long long也可以. #includ…
题意 给定一颗带边权的树,求一条边数在\(L\).\(R\)之间的路径,并使得路径上边权的中位数最大.输出一条可行路径的两个端点.这里若有偶数个数,中位数为中间靠右的那个. \(n, L, R\leq 10^5\) 题解 看一眼是点分.然后发现中位数要二分,把\(\geq mid\)的权值设为\(1\),\(<mid\)的设为\(-1\),问题转换为找边权\(\geq 0\)的路径 易发现一个子树,每个深度存一个最大值就行 考虑怎么合并两个子树:假设之前子树答案是\(f\),\(f[d]\)表示…
题意 你要维护一张\(n\)个点的无向简单图.你被要求执行\(m\)条操作,加入删除一条边及查询两个点是否连通. 0:加入一条边.保证它不存在. 1:删除一条边.保证它存在. 2:查询两个点是否联通. \(n \leq 5\times 10^3, m \leq 5\times 10^5\) 题解 第一次写按时间分治的题,感觉还是比较 清新 有趣的 对时间建线段树,一个结点\([l, r]\)上存储在时间\([l, r]\)上存在的边集,那么询问在叶子结点上 对这颗线段树\(dfs\),我们到一个…
题意 给定一个\(n\)个点\(m\)条边的无向图,有一些边权暂时为\(0\),你需要分配一个\([1, 10^{18}]\)的数.最终使得\(s\)到\(t\)最短路为\(L\),输出一个可行的分配方案,或告知无解. \(n \leq 10^3\),\(m \leq 10^4\),\(L \leq 10^9\) 题解 首先拿到这个图,我们把\(0\)边换成INF,求\(s\)到\(t\)的最短路\(d\),如果此时\(d<L\),则无解 再把\(0\)边换成\(1\),求最短路\(d\),如果…
题意 给定一个长度为\(n\)的正整数序列,第\(i\)个数为\(h_i\),\(m\)个询问,每次询问\((l, r, w)\),为\([l, r]\)所有长度为\(w\)的子区间最小值的最大值.(类似于一类特殊的直方图最大子矩形问题) \(1 \leq n, m \leq 10^5\) 题解 我们考虑二分答案,这样\(n\)个数变成\(01\),若\(h_i\geq mid\)则为\(0\),否则为\(1\) 每次就相当于查询存不存在长度为\(w\)的连续\(1\).用线段树维护. 这有个问…
题意 给一个$ n \times m$ 的网格,每个格子里有一个数字,非 \(0\) 即 \(1\),行从上往下依次编号为 \(1, 2, \cdots, n\),列从左往右依次编号为 \(1, 2, \cdots, m\). 给 \(q\) 次操作,每次给定一个以 \((x_1,y_1)\) 为左上角,\((x_2,y_2)\) 为右下角的矩形内所有格子里的数字都变成 \(1\).问每次操作之后,所有数字为 \(1\)的格子构成的四连通块的个数. \(1<=n,m<=1000\) \(1&l…
题意 你有一个\(h\times w\)的棋盘,你需要在每个格子里填\([1, m]\)中的某个整数,且满足\(n\)个矩形限制:矩形的最大值为某定值.求方案数\(\bmod 10^9+7\) \(h, w, m\leq 10^4,n\leq 10\) 题解 首先来考虑单独的一个矩形限制怎么做.假设矩形面积为\(s\),最大值为\(v\) 易得答案是\(v^{s}-(v-1)^{s}\),意思就是每个数随便选,然后减去所有数\(<v\)的方案 现在考虑\(n\)个限制,实际上把棋盘分成了\(O(…
题解 解法1:(官方做法) 一段区间的\(L\)定义为从最左边开始出发,最左不失败,一直到最右边胜利的概率,\(R\)定义为从最右边开始出发,最左不失败,又回到最右边胜利的概率 考虑一个区间\([l, r]\)记为\(u\),左右儿子\([l, mid]\)和\([mid + 1, r]\)分别记为\(ls\)和\(rs\) 枚举一下\(mid\)和\(mid+1\)之间往返多少次 \[ u.L = ls.L * rs.L * \sum_{i = 0}^{\infty} ls.R^i(1-rs.…
来源:Comet OJ - Contest #13 一眼并查集,然后发现这题 tmd 要卡常数的说卧槽... 发现这里又要用并查集跳过访问点,又要用并查集维护联通块,于是开俩并查集分别维护就好了 一开始 XJB 搞了两个并查集建了个完全的连接方式,然后 xjb 写了堆合并,调了一会儿交上去喜见 TLE (自闭现场) 挺好的啊,然后改成动态开点并且访问点跳过的操作也优化了一下,终于爬过去了 ORZ 原 Code 代码挺好打&&极不清爽 //by Judge (zlw ak ioi) #inc…