计算几何瞎暴力 (easy.pas/c/cpp) 128MB 1s 在平面上,给定起点和终点,有一面墙(看作线段)不能穿过,问从起点走到终点的最短路程. 输入格式 输入一行,包含8个用空格分隔的整数xS,yS,xT,yT,x1,y1,x2,y2,依次表示起点(xS,yS),终点(xT,yT),线段(x1,y1)-(x2,y2). 输出格式 输出一个整数,表示答案四舍五入到整数后的值,保证答案精确值的小数点后一位不是4或5. 样例输入 1 1 2 2 1 2 2 1 样例输出 2 样例解释 走折线…
我们可以考虑两种情况 区间之间不相重叠 和 重叠 f[i][j]表示以当前最后一个区间以 i 结尾 并且选了 j 个区间 不相重叠的话 只要选 1-i-w 的max再加上 包含i在内的前四个数的和 相交的话 考虑因为可选的区间长度是固定的 所以我们可以考虑单调队列优化 sum维护的是前缀和 f[i][j]=f[k][j-1]+sum[i]-sum[k] 这样因为sum[i]是固定的 所以我们队列里维护的是f[k][j-1]-sum[k]就好辣 #include<cstdio> #include…
最长上升子序列 (tree.pas/c/cpp) 128MB 1s 有一个长度为n的序列a[i],其中1到n的整数各自在a[i]中出现恰好一次. 现在已知另一个等长的序列f[i],表示a[i]中以第i个位置结尾的最长上升子序列的长度,请还原出a[i]. 输入格式 第一行一个正整数n. 接下来一行n个数,其中第i个数表示f[i]. 输出格式 一行,n个整数,表示序列a[i],如果答案不唯一,任意输出一种. 样例输入 7 1 2 3 2 4 4 3 样例输出 1 4 5 2 7 6 3 样例解释 以…
木之本樱 背景 “西瓜是可以种在树上的!”——木之本樱 描述 空地上,一排排的西瓜树拔地而起. 魔法世界里,空地是无限大的.所有的树排成了n条直线,每条直线也是向左右两端无限延伸的. 由于自己姓木(之本)小樱忽然想知道,这些直线能够组成多少个汉字“木”. 我们这样定义一个“木”字:从已有的直线中任取4条,并将其中两条截为射线.若两射线端点为同一点,且两直线均过该端点.对其中一条直线而言,两条射线在同一侧,对另一条直线而言两条射线在异侧,则此时组成一个“木”字.认为两个“木”字相同当且仅当其所取的…
贪心只能过样例 SRM 10 描述 给出n个数a[i](1<=a[i]<=n),问最多能把这些数分成几组,使得每个数a[i]所在的组至少有a[i]个数 输入格式 第一行一个整数n,接下来n行每行一个整数分别是a[1],a[2],...,a[n] 输出格式 一行,输出答案,一个整数 样例输入 5 2 1 2 2 3 样例输出 2 数据范围与约定 数据有梯度,分布如下: 0<n<=20 7组数据 20<n<=5000 15组数据 5000<n<=1000000…
模拟只会猜题意 SRM 10 描述 有一本n个单词的词典,求按下列方法能造出的不相同的词汇数目.  1.词典中的单词是一个词. 2.能分为两部分的,其中前一部分是一个词典词或者其非空前缀,后一部分是一个词典词或者其非空后缀的词. 输入格式 第一行一个整数n,接下来n行每行一个字符串,表示单词 输出格式 一个整数,答案 样例输入 3 a ab bc 样例输出 20 数据范围与约定 对10%的数据,n=1 对另外40%的数据,1<=n<=10,单词只含字符'a' 对所有的数据,1<=n<…
汕头市队赛题目传送门 codeforces题目传送门 这道题我的做法是 尝试先往左走然后往右走 或者先往右走然后往左走 然后注意一下枚举顺序就okay啦 #include<cstdio> #include<cstring> #include<algorithm> #define LL long long using namespace std; ; LL read(){ LL ans=,f=,c=getchar(); ; c=getchar();} +(c-'); c=…
二次联通门 : LibreOJ #517. 「LibreOJ β Round #2」计算几何瞎暴力 /* LibreOJ #517. 「LibreOJ β Round #2」计算几何瞎暴力 叫做计算几何 实则毒瘤数据结构 看到xor后 考虑Trie树 Trie树的每一个节点保存的是以当前子树中每个二进制位的个数 给Trie打一个全局xor标记,如果标记这一位是1,就交换它的两个儿子 另外维护一个前缀和 前缀和存的是没sort过的值的和 Trie维护的是sort之后的值 1操作直接在前缀和后加就好…
在序列上维护4个操作 1.在序列的尾端添加x 2.输出Al~Ar的和 3.将所有数异或x 4.将序列从小到大排序 第一眼看上去是Splay于是头铁硬刚了一发 后来发现splay没法异或 去百度“维护异或  数据结构” 然后看到了Trie树  学习了一个 1.直接插到序列里 2.考虑前缀和  因为Trie树所管辖的下标区间是有序的,所以这里相当于求Trie树中最小的x个数的,记一下每个点下面数字个数(sz)就可以了 3.考虑整体打一个xortag 对于当前存在的xortag 我们将它的每一位分解到…
T1 背景 “主角光环已经不能忍啦!” 被最强控制AP博丽灵梦虐了很长一段时间之后,众人决定联合反抗. 魂魄妖梦:“野怪好像被抢光了?” 十六夜咲夜:“没事,我们人多.” 然后当然是以失败告终了. 八云紫:“我们需要一个更强的法师!” 蕾米莉亚:“她的话应该就没问题了吧.” 帕秋莉就这样来到了这块大陆:“来试试我的新魔法.” 描述 帕秋莉的新魔法基于二进制异或运算进行伤害判定. 初始时,系统会生成一些数字.帕秋莉的魔法弹每次攻击,会从数字中挑出一些,将它们异或后作为此次的真实伤害值.作为完美主义…