今天的收获还是蛮大的,终于体会了一波在知识的海洋中遨游的美滋滋的快感. T1:给你N个点的位置和他们的速度,这些点向一个方向移动,求前M次超越者的集合A和被超越者的集合B(集合为这些点的速度),以及从A和B中各取一个并相乘,第k小的那个积. 数据范围:N<=1e5,M<=1e5,K<=M*M,起始位置和速度<=1e9 emmmm,写的是10分的暴力,可是出了一些奇奇怪怪的问题没有拿到这十分. 10分:直接暴力的算出交点,并且排序即可. 30分:在算交点前二分出一个时间,让算出的每次…
day0: 首先,请允许我吐槽一下: 1.那些一个人住一个标准房的人您们真的是#@**¥&%……#*()%……*()@Q$&. 2.感谢那些一个人住一个标准间的人,要不然我们也找不到这个住宿完美,离学校贼进的宾馆. 3.经过一天的物价观察,我终于发现了如何将长沙的东西和焦作的相比从而得出贵不贵,你把价格除个二就差不多是焦作的价格了,如果价格一样的话请把东西的质量除以二. day1: 6:30起床顺便把懒虫高正从被窝里踹出来.然后那个懒虫就趁我洗漱的时候又睡了个回笼觉 没有摸清地点的我们傻不…
怎么说呢,今天的题特别的神奇,因为emmmmmm,T1看不懂(一直到现在还没有理解明白期望概率什么的),T2题面看不懂+扩展欧几里得求逆元怎么求我忘了,T3哇,终于看懂一题了,然而写了个50分的程序但是只拿到了20. day2考试就写了T3,还好写了分段,不然可能就要爆零了(写的是50分的程序,但是很明显我的思路出问题了所以只拿了20分的暴力分) T1:对于一个0/1串,其中一个全为1长度为x的子串会加x^3+k,一个全为0长度为x的子串会减x^2+k,现告诉每个位置为1的概率,求期望的分数.数…
[LOJ6067][2017 山东一轮集训 Day3]第三题 FFT 题目大意 给你 \(n,b,c,d,e,a_0,a_1,\ldots,a_{n-1}\),定义 \[ \begin{align} x_k&=b\times c^{4k}+d\times c^{2k}+e\\ f(x)&=\sum_{i=0}^{n-1}a_ix^i \end{align} \] 求 \(f(x_0),f(x_1),\ldots,f(x_{n-1})\). 对 \({10}^6+3\) 取模. 题解 直接多…
[LOJ#6066]「2017 山东一轮集训 Day3」第二题(哈希,二分) 题面 LOJ 题解 要哈希是很显然的,那么就考虑哈希什么... 要找一个东西可以表示一棵树,所以我们找到了括号序列. 那么二分一个答案\(d\),把所有点挂到\(d+1\)次祖先上去,那么\(d+1\)次祖先的哈希值就是它原本的括号序列挖去了若干段,直接暴力哈希拼接起来就好了. #include<iostream> #include<cstdio> #include<cstdlib> #inc…
自闭集训 Day3 字符串 SAM 考虑后缀树. SAM的parent树是反串的后缀树,所以后面加一个字符的时候相当于往串前面加一个字符,恰好多出了一个后缀. 于是可以以此来理解SAM. 每一条路径对应原串的一个子串. 每一个终止节点对应一些后缀. 所有到同一个点的路径对应的子串互为后缀,长度连续. parent树是反串的后缀树. SAM可以用来构造SA.(???) 回文树 一个串的本质不同的回文子串的个数是\(O(n)​\)的. 每个点只表示一个回文串. SAM和回文树的复杂度都是均摊的,所以…
自闭集训 Day3 图论 NOI2019 D2T1 没有真正建出图来的必要,可以直接打取\(\min\)的\(tag\). 也可以把边压进堆里,然后变成一个二维清点问题(???),然后就线段树+并查集(???). POI 2014/2015 某题 类似于GDOI2019,线段树或者堆直接做. Gym101372 E 首先肯定要缩点. 给每个点赋一个随机权值,然后把每一个点的权值更新成能到的所有的点权值的min. 由于\([0,1]​\)的\(n​\)个随机权值的\(\min ​\)期望是\(\f…
Day3——作死不可活的一天 Day3 今天下午才考 晚上时间少 下午网每断 因此我是PY的 然后被抓了 成绩做0分处理. 是啊,我只会抄题解. 其他什么都不会. 一无是处. 真的. 真实能力:rank倒数 T1 [P1881] 绳子对折 这道题考思维 一句话:枚举每个节,或者节与结点之间的中点,然后两边伸展,看结每一小段的长度是否一致. 预估分:100分 实际分:100分 T2 Anger's Bessie 一开始以为是贪心 xry大佬告诉我说是背包 然后就打了背包 预估分:100分 实际分:…
Day3数据结构,强无敌. 基本讲的是栈,队列,链表,都是些还会的操作,然后接着讲的就比较心凉凉了,先讲了堆,然后是hsah 栈,队列,链表问题都不大,笔记记得都还好,堆就凉凉了. 不会不会不会,没学过没学过没学过,现在只知道堆是一个“父亲都比儿子小”或是“父亲都比儿子大”的完全二叉树,书上也没有…网太差,课件也下不下来,就很凉…..有空慢慢学吧… Hash,不会,凉凉. 下午考题还是非常良心 T1,一眼模拟可做,但是因为老师数据错了(老师以为是合并果子),然后爆0,然而老师说是我们理解错了.…
被疯狂造谣+请家长 但生活还得继续 ...今天的题口胡一下吧明天码 PKUSC2018 D1T1 对于x:若x不翻,则x的一半到x的数都不能翻 若x翻,则x到2x都得翻 剩下随便安排 排列组合一下 PKUSC2018 D1T2 考虑状压dp sum[state]表示选的数状态为state的数值和 f[i]表示i状态的最大前缀和就是i的方案数$k∉i and sum_i>0:f_i→f_{i+k}$ g[i]表示i状态前缀和始终小于0的方案数$k∉i and sum_{i+k}≤0:g_i→g_{…
战友们正讨论着他们曾经参加过凡尔登战役的父亲...在黎明前我们必须誓死坚守----法乌克斯要塞中弹尽粮绝的法军士兵 什么!今天又考状压和tarjan! 达成成就:连续两天复习数论和二分图 康乐康,这次考试只有T5和T6能做,T2可以搞,结果T6的边双调了两个小时,T2思路方向不对,T5基础状压没考虑要倒序,一上午在绝望中度过 由于今天考试题出的难度稍高,结果效率比昨天还低,连考试题还没改完就结束了一天,或许状压真的需要大量练习(然俄我夜观学长集训博客,发现状压出现频率出奇的低) 其他方面,我看学…
day3:四道检测题,花了大半天时间. T1 子集和问题 问题描述 子集和问题的一个实例为<S,c>.其中S={x1,x2,-,xn}是一个正整数的集合,c是一个正整数.子集和问题判定是否存在S的一个子集S1,使得S1中所有元素的和为c 找不到原题了 #include <bits/stdc++.h> using namespace std; int n,a[10000000],b[10000000]; int m,i,k=1,s=0; bool f[10000000]; void…
T1 Description 有$K$个石子,石子只能放在$N$条水平线与$M$条竖直线构成的网格的交点上. 求用$K$个石子最多能找到多少四边平行于坐标轴的长方形,它的四个角上都恰好放着一枚石子. Input 第一行三个整数$N,M,K$. Output 一个非负整数,即最多的满足条件的长方形数量. Sample Input 3 3 8 Sample Output 5 HINT $N\;\leq\;30000$,保证任意两点不重合,$K\;\leq\;N\;\times\;M$ Solutio…
[问题描述] “若是万一琪露诺(俗称 rhl)进行攻击,什么都好,冷静地回答她的问题来吸引她.对方表现出兴趣的话,那就慢慢地反问.在她考虑答案的时候,趁机逃吧.就算是很简单的问题,她一定也答不上来.” ——<上古之魔书> 天空中出现了许多的北极光,这些北极光组成了一个长度为 n 的正整数数列 a[i],远古之魔书上记载到:2 个位置的 graze 值为两者位置差与数值差的和: graze(x,y)=|x-y|+|a[x]-a[y]|. 要想破解天罚,就必须支持 2 种操作(k 都是正整数):…
[题目描述] RHL 有一天看到 lmc 在玩一个游戏. “愚蠢的人类哟,what are you doing”,RHL 说. “我在玩一个游戏.现在这里有一个有 n 个结点的有根树,其中有 m 个叶子结点.这 m个叶子从 1 到 m 分别被给予了一个号码,每个叶子的号码都是独一无二的.一开始根节点有一个棋子,两个玩家每次行动将棋子移动到当前节点的一个儿子节点.当棋子被移动到某个叶节点的时候游戏结束,这个叶节点的号码即为该局游戏的 result.先手的玩家要最大化result,后手的玩家要最小化…
[题目描述] RHL最近迷上一个小游戏:Flip it.游戏的规则很简单,在一个N*M的格子上,有一些格子是黑色,有一些是白色.每选择一个格子按一次,格子以及周围边相邻的格子都会翻转颜色(边相邻指至少与该格子有一条公共边的格子),黑变白,白变黑. RHL希望把所有格子都变成白色的.不幸的是,有一些格子坏掉了,无法被按下.这时,它可以完成游戏吗? [输入格式] 第一行一个整数T,表示T组数据. 每组数据开始于三个整数n,m,k,分别表示格子的高度和宽度.坏掉格子的个数.接下来的n行,每行一个长度m…
思路:如果一个DAG要的路径上只要一条边去切掉,那么要怎么求?很容易就想到最小割,但是如果直接做最小割会走出重复的部分,那我们就这样:反向边设为inf,这样最小割的时候就不会割到了,判断无解我们直接用tarjan #include<cstdio> #include<iostream> #include<cmath> #include<cstring> #include<algorithm> #define ll long long ; struc…
思路:我们考虑如果取掉一个部分,那么能影响到最优解的只有离它最近的那两个部分. 因此我们考虑堆维护最小的部分,离散化离散掉区间,然后用线段树维护区间有没有雪,最后用平衡树在线段的左右端点上面维护最小的id 我讲的貌似不是很清楚.. 还有,蜜汁80分,打死也改不出来.. #include<cstdio> #include<cmath> #include<iostream> #include<cstring> #include<algorithm>…
LOJ 被一件不愉快的小事浪费了一个小时= =. 表示自己(OI方面的)智商没救了=-= 比较显然 二分+树哈希.考虑对树的括号序列进行哈希. 那么每个点的\(k\)子树的括号序列,就是一段区间去掉距离它为\(k+1\)的点的子树的区间.那么我们把每个点放到它的\(k+1\)级祖先上,在\(k+1\)级祖先处求哈希值时,跳过这个点的括号区间即可. 至于具体的哈希方式...xjb哈希就行了 //672ms 24.97M #include <cstdio> #include <cctype&…
题意 题目链接 分析 首先二分,假设二分的答案为 \(mid\),然后考虑利用括号序列来表示树的形态. 点 \(u\) 的 \(k-\) 子树的括号序列表示实际上是刨去了 \(u\) 子树内若干个与 \(u\) 距离为 \(mid\) 的点的一段连续的括号序列,挂链即可.判断括号序列是否相同可以考虑哈希. 总时间复杂度 \(O(nlog^2n)\). 代码链接…
传送门 二分答案 \(k\),考虑如何 \(hash\) 使得做起来方便 把每个点挂在 \(k+1\) 级祖先上,考虑在祖先上删除 这道题巧妙在于其可以对于 \(dfs\) 序/括号序列 \(hash\) 这样在 \(k+1\) 级祖先上暴力删除就好了 # include <bits/stdc++.h> using namespace std; typedef long long ll; typedef unsigned long long ull; const int maxn(2e5 +…
[题目大意] 给网格图,共有$n * n$个关键节点,横向.纵向距离均为$d$,那么网格总长度和宽度均为$(n+1) * d + 1$,最外围一圈除了四角是终止节点.要求每个关键节点都要通过线连向终止节点,每个点只能连一条线,线不能相交,且只能连在网格的边上. 求最短布线距离.提交答案题. [题解] 前面3个点(60分)可以跑费用流,这是一个经典拆点费用流模型,大概并行跑个15min也就出来了. 后面2个点据说用原始对偶跑会快很多,ditoly后两个点就跑了36分. orz ditoly…
[题目大意] 给一张网格图,上往下有流量限制,下往上没有,左往右有流量限制. $n * m \leq 2.5 * 10^6$ [题解] 考场直接上最大流,50分.竟然傻逼没看出狼抓兔子. 平面图转对偶图,其中没有流量限制(inf)不用转,然后直接在DAG上分层dp即可. 复杂度$O(nm)$,但是这样过不去被卡常了. 出题人的做法是先处理出每层初始的那个随机数,然后每层往下直接做,这样因为是一维数组,所以寻址方便,不会被卡常. 我的做法是动态开数组(用new),然后比较两维大小来分配第一维给谁,…
[题目大意] 给出平面上$n$个点$(x_i, y_i)$,请选择一个不在这$n$个点之内的点$(X, Y)$,定义$(X, Y)$的价值为往上下左右四个方向射出去直线,经过$n$个点中的数量的最小值. Task 1: 求价值最大的点 Task 2: 求价值最大的点的个数 保证Task 1和Task 2各占50pts. 对于30%的数据,$n \leq 200$: 对于60%的数据,$n \leq 5000$: 对于100%的数据,$n \leq 300000$. 每档数据中,50%保证$1 \…
w 题目背景 \(\frac 14\)遇到了一道水题,双完全不会做,于是去请教小\(\text{D}\).小\(\text{D}\)看了\(0.607^2\)眼就切掉了这题,嘲讽了\(\frac 14\)一番就离开了. 于是,\(\frac 14\)只好来问你,这道题是这样的: 题目描述 有一棵\(n\)个节点的树,每条边长度为\(1\),颜色为黑或白. 可以执行若干次如下操作:选择一条简单路径,反转路径上所有边的颜色. 对于某些边,要求在操作结束时为某一种颜色. 给定每条边的初始颜色,求最小操…
蜜汁打表题.. (首先L=1和L=N的情况过于傻逼(而且是特殊情况),可以先写出来,然后剩下的L的做法在下面) 首先你要写一个打表程序,找出{1,2,....,n} 乘若干个 循环唯一的轮换可以搞出的所有排列,然后统计一下对于每个i,总环数=i 的排列的个数 cnt[i]. 如果你规律找的好的话,是可以发现如下结论的: 1.当L是偶数的时候,cnt[i] = s(N,i) ,其中s(,)是第一类斯特林数. 2.当L是奇数的时候,cnt[i] = s(N,i) or 0,cnt[i]不为0当且仅当…
u 题目背景 \(\frac 14\) 遇到了一道水题,完全不会做,于是去请教小\(\text{D}\).小\(\text{D}\)看了一眼就切掉了这题,嘲讽了\(\frac 14\)一番就离开了. 于是,\(\frac 14\)只好来问你,这道题是这样的: 题目描述 考虑一个\(n\times n\)的矩阵\(A\),初始所有元素均为\(0\). 执行\(q\)次如下形式的操作:给定\(4\)个整数\(r,c,l,s\),对于每个满足\(x\in [r,r+l),y\in [c,x-r+c]\…
v 题目背景 \(\frac 14\)遇到了一道水题,又完全不会做,于是去请教小\(\text{D}\).小\(\text{D}\)看了\(0.607\)眼就切掉了这题,嘲讽了\(\frac 14\)一番就离开了. 于是,\(\frac 14\)只好来问你,这道题是这样的: 题目描述 有\(n\)个球排成一行,每个球的颜色为黑或白. 执行\(k\)次操作,第\(i(1\le i\le k)\)次操作形式如下: • 从\([1,n-i+1]\)中,等概率随机选择一个整数\(x\). • 移除从左往…
1.串(string.c/.cpp/.pas) 限时1s,内存限制256MB,20个测试点 [题目描述] 兔子们在玩字符串的游戏.首先,它们拿出了一个字符串集合S,然后它们定义一个字符串为“好”的,当且仅当它可以被分成非空的两段,其中每一段都是字符串集合S中某个字符串的前缀. 比如对于字符串集合{"abc", "bca"},字符串"abb","abab"是“好”的("abb" = "ab"…
难度:☆☆☆☆☆☆☆ 此时相望不相闻,愿逐月华流照君 /* 23 233 223 啦啦啦德玛西亚 */ #include<iostream> #include<cstdio> #include<cstring> #define N 1000007 using namespace std; int n,m,ans; char a[N]; int main() { freopen("trans.in","r",stdin); freo…