
3251-3500
Mmh2000
这个作者很懒,什么都没留下…
展开
-
3251: 树上三角形
题目链接题目大意:给定一大小为n的有点权树,每次询问一对点(u,v),问是否能在u到v的简单路径上取三个点权,以这三个权值为边长构成一个三角形。同时还支持单点修改。题解:看到题目果断开始想数据结构,感觉要上lct?蒟蒻表示不会……膜了一发题解后。考虑这样一个问题:有一个数列,数列中的数满足题目条件,那么最优就是斐波那契数列,在2^31次方中斐波那契数列只有不到50项……路径长度大于50直接输出,小于原创 2017-06-05 21:22:10 · 293 阅读 · 0 评论 -
3437: 小P的牧场
题目链接题目大意:有些按照一字排列的牧场,每一个牧场有一个费用和放牧数量。现在要在一些牧场上建造控制站,目的是控制所有的牧场,建立控制站的基础费用就是每个牧场的费用,然后每一个牧场需要付这个牧场的放养数量*它与右边相邻的控制站的距离。求最小的费用题解:把题目求的东西差分一下 sum1[i]=∑k=1iB[k],sum2[i]=∑k=1i{B[k]∗k}sum1[i]=\sum\limits_{k=原创 2017-09-12 07:09:45 · 437 阅读 · 0 评论 -
3372: [Usaco2004 Feb]Moo University -- Financial Aid 财政补助
题目链接题目大意:n头牛(n为奇数),每头有一个分数和价格,选出若干头牛,使得分数中位数最大且不超过预算题解: 按照分数从大到小排序,枚举每头牛k作为中位数,易知[1,k-1]和[k+1,c]中各选了(n-1)/2头,它们的分数无关紧要 预处理fl[i]表示[1,i]中选出(n-1)/2头牛的最小费用,fr[i]表示[i,c]中选出(n-1)/2头牛的最小费用,用堆维护前(n-1)/2大就可以了原创 2017-09-12 07:19:13 · 381 阅读 · 0 评论 -
3379: [Usaco2004 Open]Turning in Homework 交作业
只会想大力dp,但是k太大了,不好加在状态里…… go[i]表示到达i的时间,st[i]表示从i出发的时间go[i]表示到达i的时间,st[i]表示从i出发的时间 go[i]=max(go[i−1],st[i−1])+d[i−1]go[i]=max(go[i-1],st[i-1])+d[i-1] ans=∑go[B[i]]−T[i]ans=\sum go[B[i]]-T[i]下面贪心地最大化加原创 2017-09-21 20:20:12 · 728 阅读 · 0 评论 -
3477: [Usaco2014 Mar]Sabotage
题目链接题目大意:给你N个数,第一个和最后一个不能去掉。 现希望去掉中间某段连续的数,使得剩下的数的平均值最小化题解:最大/最小化平均数->二分平均数,然后每个数二分值,搞一搞是否大于0对于这题,先减去平均值,求最大连续子段和mx 那么此时序列由 L + mx + R组成. L + mx + R = sum - n * m, sum为原序列的和.假如二分的答案m是可行的, 那么 L + R =原创 2017-10-19 19:39:52 · 296 阅读 · 0 评论 -
3341: [Ceoi2013]adriatic
题目链接题目大意:平面上有一些点,只能想正左上方或正右下方走,问每个点到所有其他点的距离和题解:比较玄妙的分治思想……题解我的收获:思想#include <cstdio>#include <cstdlib>#include <cstring>#include <iostream>using namespace std;const int M=2505;int n;bool on[M][M]原创 2017-12-21 20:27:06 · 383 阅读 · 0 评论 -
3289: Mato的文件管理
题目链接题目大意:求区间逆序对数题解:区间端点+-1后可以用树状数组维护出新加入/删除的数带来的贡献,考虑莫队 注意区间移动时关于区间元素个数的细节问题 时间复杂度O(nn√logn)O(n \sqrt{n} \log n)我的收获:~~~~#include #include #include #include #include #include #includ原创 2018-01-22 21:31:10 · 264 阅读 · 0 评论 -
3277: 串/3473: 字符串
题目链接题目大意:给定你n个字符串,询问每个字符串有多少子串(不包括空串)是所有n个字符串中至少k个字符串的子串(注意包括本身)题解:SA有比较厉害的做法,可惜我没听懂……广义SAM也可以做……Orz Candy?我的收获:广义SAM get……#include <bits/stdc++.h>using namespace std;const int N=2e5+5;typedef long lo原创 2018-02-04 19:00:54 · 238 阅读 · 0 评论 -
3333: 排队计划
题目链接题目大意:给定一个序列h,每次选择一个位置,把这个位置之后所有小于等于这个数的数抽出来,排序,再插回去,求每次操作后的逆序对数题解:用树状数组求出第一问答案,记hih_i开头的逆序对数=∑j=i+1n[hj<hi]\sum\limits_{j=i+1}^{n}[h_j<h_i]设操作位置为pos,选出的数集为{S}分析操作对不在{S}集中元素的影响对于∀i<pos∀ i<pos,{S}中元素原创 2018-02-04 19:54:04 · 327 阅读 · 0 评论 -
3400: [Usaco2009 Mar]Cow Frisbee Team 奶牛沙盘队
题目链接题目大意:每头牛有一个能力值,在n头牛选若干头,求能力值和为F的倍数的方案数题解:f[i][j]表示前i头牛能力值modF为j的方案数,只有两种决策我的收获:#include <iostream>#include <cstdio>#include <cstring>#include <cstdlib>using namespace std;const int M=2005;cons原创 2017-09-07 09:56:08 · 991 阅读 · 0 评论 -
3378: [Usaco2004 Open]MooFest 狂欢节
题目链接题目大意:n只奶牛,第i只听力为vi,坐标为xi,两只奶牛聊天时音量是max(vi,vj)∗abs(xi−xj)。求n(n−1)/2对奶牛的音量和题目大意:n只奶牛,第i只听力为v_i,坐标为x_i,两只奶牛聊天时音量是max(v_i,v_j)*abs(x_i-x_j)。求n(n-1)/2对奶牛的音量和题解:经验告诉我们,有比较的题就先排序…… 按照x轴从大到小排序,这样用树状数组维护坐标原创 2017-09-10 15:09:01 · 480 阅读 · 0 评论 -
3343: 教主的魔法
题目链接题目大意:维护数列,资磁区间加,询问区间内大于等于C的数的个数题解:分块 将原数组复制一份副本,维护其单调性 修改:同一块/不完整块直接加,整块打标记,重构不完整块(块内不一定单调) 查询:同一块/不完整块暴力,整块二分 初始化要重构所有块 O(Qn−−√logn)O(Qnlogn)O(Q\sqrt{\text{n}} \log n)我的收获:分块T1达成#in...原创 2017-07-12 21:23:52 · 261 阅读 · 0 评论 -
3319: 黑白树
6原创 2017-07-24 21:56:15 · 784 阅读 · 0 评论 -
3339: Rmq Problem/3585: mex
题目链接题目大意:给定一个长度为n的数列A,q次询问下标在[l,r]之间所有数的mex.对于非负整数组成的集合S,mex(S)等于最小的不属于集合S的非负整数.题解:首先离线,按照左端点对询问排序容易发现,用mex(i)表示1–i的mex,这个mex是单调的,扫一遍就能求了。这样就解决了所有L为1的询问类似莫队的思想,考虑[L,R]和[L+1,R][L,R]和[L+1,R][L,R...原创 2017-08-06 20:37:02 · 464 阅读 · 0 评论 -
3450: Tyvj1952 Easy
题目链接题目大意:有一个字符串,由 ’ o ‘, ’ x ‘, ’ ? ’ 组成,连续的 Y 个 ’ o ’ 对答案的贡献是 Y ^ 2,而 ’ x ’ 不会产生贡献,’ ? ’ 代表有 50% 的几率代表 ’ o ‘,另一半代表 ’ x ‘,求期望的贡献题解:记L为当前期望后缀o长度,f[i]表示以第i个字符结尾的期望得分题解:记L为当前期望后缀o长度,f[i]表示以第i个字符结尾的期望得分原创 2017-08-20 17:12:53 · 500 阅读 · 0 评论 -
3408: [Usaco2009 Oct]Heat Wave 热浪
题目链接题目大意:最短路题解:好久前的代码了,还是无优化的dijsktra……现在应该都不会了(我的收获:……#include <iostream>#include <cstdio>#include <cstring>using namespace std;#define INF 1000000000int m,n,x,y,z,s,e;int w[2505][2505];int d[2原创 2017-08-15 22:24:51 · 484 阅读 · 0 评论 -
3376: [Usaco2004 Open]Cube Stacking 方块游戏
题目链接题目大意:n堆积木,两种操作 1.将x所在的那堆积木移动到y所在的积木之上 2.求所在积木中在x下面的积木的数量题解:带权并查集 f[x]=y表示x在y上面,即最下面的为根,记录sum[x]表示x所在堆元素个数,维护h[x]表示x到根的距离,也就是询问的答案,然后搞搞就行了我的收获:带权并查集吼啊#include <cstdio>#include <iostream>#includ原创 2017-09-08 19:41:26 · 440 阅读 · 0 评论 -
3262: 陌上花开
题目链接题目大意:给定一堆花,每个花有三个属性,定义一朵花比另一朵花美丽当期仅当三个值都大于等于另一朵花 定义花的评级为没有它美丽的花的数量 求评级为0~N-1的花的数量题解:三维偏序,x排序,yCDQ分治,z树状数组我的收获:CDQ神啊#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>usin原创 2017-09-09 07:28:33 · 409 阅读 · 0 评论 -
3380: [Usaco2004 Open]Cave Cows 1 洞穴里的牛之一
1原创 2017-09-08 19:46:27 · 515 阅读 · 0 评论 -
3329: Xorequ
题目链接题目大意:给定方程x xor 3x=2xx~xor~3x=2x,给定正整数n (1)求小于等于nn的正整数中有多少个满足该方程 (2)求小于等于2n2^n的正整数中有多少个满足该方程,答案模1e9+71e9+7题解:性质:a xor b=c⇔a xor c=ba~xor~b=c \Leftrightarrow a ~xor~c=b 把x xor 3x=2xx~xor~3x=2x变成x原创 2018-01-29 15:34:23 · 860 阅读 · 0 评论