题目题解
数学常识
DSFZ最低水平
展开
-
九省联考 一双木棋
一双木棋状压+min-max对抗搜索 说出来丢人,笔者作为高一试水狗这题就滚粗了 我果然什么也不会 本题思路很明确,直接记忆化min-max对抗搜索即可 为啥我没想到 所谓min-max对抗搜索就是双方都采取最优策略,都希望获得最大值/最小值时应该采取的一种搜索方式 可以转化为一方希望得到最大值,一方希望得到最小值的问题 瞎**爆搜就可以了 每次判断一下轮到谁出手,即判断一下应...原创 2018-04-08 10:52:53 · 532 阅读 · 0 评论 -
【bzoj3720】GTY的妹子树【块状树模板】
bzoj3720GTY的妹子树圆方树上块状果,点分树下你和我,虚树下面做游戏,仙人掌上欢乐多 这道题题目很长 大概说的是: 要求你写出一个数据结构,维护一颗带点权的树,兹瓷: ~~ 1. 单点修改点权 2. 查询子树内点权大于x的点的个数 3. 新给出一个点,并将这个点与已有点做link ~~似乎以前学过的任何数据结构都不能做这么奇怪的事情呢 我们的块状树就闪亮...原创 2018-05-17 14:48:19 · 252 阅读 · 0 评论 -
[bzoj4242]水壶【网格图曼哈顿最小生成树+树上倍增】
bzoj4242 水壶此题思路很明显,构造最小生成树之后在树上倍增即可 注:本题不一定存在最小生成树,可能只有最小生成森林 此题的难点在于怎么求最小生成树 我们需要最小化边集才能保证Kruskal的复杂度 我们将所有的建筑推入队列,对地图进行染色 如果两股势力相交了,就表明可能产生了一条在最小生成树上的边 我们利用这些边就可以快速求出最小生成树了 代码剧毒4K+ 自行欣赏...原创 2018-05-17 20:23:43 · 299 阅读 · 0 评论 -
bzoj4337树的同构
树的同构采用hash的方法判断是否同构 把每棵树的每个节点当作根节点求一次hash 我的计算方法: 将一个节点的儿子的hash排序 Hash[u]=∑i∗hash[i]∗prime[i]∗(i|prime[i])∗(ixorprime[i])∗hash[i])mod1000000007Hash[u]=∑i∗hash[i]∗prime[i]∗(i|prime[i])∗(ixorprime...原创 2018-05-15 20:25:33 · 171 阅读 · 0 评论 -
[SCOI2012]喵星球上的点名[广义后缀自动机]
题目链接 这道题一看就是SAM傻逼题吧 建一个广义后缀自动机,直接大力跑就可以了。 第二问的话可以存储每个节点可以作为哪些单词的结尾就可以了 luogu最后一个点TLE,我也不知道怎么回事#include<iostream>#include<cstdio>#include<cstring>#include<algorithm&am原创 2018-06-04 10:56:06 · 383 阅读 · 0 评论 -
bzoj2795 [POI2012]OKR-A Horrible Poem[字符串hash]
bzoj2795 [POI2012]OKR-A Horrible Poem[字符串hash]蒟蒻第一次写字符串hash 瑟瑟发抖 简述题意:给你一个字符串,每次 询问你一个区间内字符串的最小循环节长度为多少 循环节有三个有趣的性质:循环节长度一定是序列长度的约数循环节的倍数还是循环节对于区间[l,r][l,r][l,r],如果s[l...r−len]=s[l+len...r]s...原创 2018-06-07 09:55:09 · 348 阅读 · 0 评论 -
bzoj3555 [Ctsc2014]企鹅QQ
bzoj3555 [Ctsc2014]企鹅QQ又是一道字符串哈希 这道题要求你求只差一位上的字母的字符串的对数。 观察范围n=30000,L=200n=30000,L=200n=30000,L=200 那就大力出奇迹就好了 暴力枚举哪一位不同就可以了 复杂度O(NLlog2N)O(NLlog2N)O(NLlog_2N) 随便跑无压力#include<iostream&...原创 2018-06-07 10:35:46 · 217 阅读 · 0 评论 -
【NOI2017】整数(压位分块+set)
【NOI2017】整数题目简述: 一开始你有一个数x=0x=0x=0 n(n≤106)n(n≤106)n(n \le 10^6)次操作: 1.给xxx加上a×2ka×2ka \times 2^k (a≤109,k≤3×107)(a≤109,k≤3×107)(a \le 10^9,k \le 3 \times 10^7) 2.查询xxx的二进制表达表示2b(b≤3×107)2b(b≤3×...原创 2018-06-15 15:36:21 · 552 阅读 · 0 评论 -
六 一 欢乐给给赛 T3题解
六 一 欢乐给给赛 T3题解题目传送门 这道题其实很简单,题如其名,不知道各路dalao为何装弱。 第一种解法: 对于每个查询进行贪心 复杂度:O((Q+1)n)=O(n2)O((Q+1)n)=O(n2)O((Q+1)n)=O(n^2) 实际得分:30 代码什么的就不粘了,大家肯定都会写。 第二种解法: 我们考虑到每个数都是正整数,说明以aiaia_i为lsq序列的第一个元素的...原创 2018-06-02 08:26:34 · 207 阅读 · 0 评论