2021.04.24[NOIP提高B组]模拟 总结 T1 题意:有一圈数.两两之间有加法或乘法操作, 问你开始断掉那条边使得剩下的序列经过某种操作后的值最大 看上去是个区间 dp .然后直接断环成列,找最大值. 光荣 WA 原因:负负得正,最小的两个负数相乘可能比最大的要大 所以多维护一个最小值,乘法的时候多考虑几种情况即可 #include<bits/stdc++.h> using namespace std; const int N=105; int n,m,x[N],f[N][N],g[…
一个int数组, 比如 array[],里面数据无任何限制,要求求出 所有这样的数array[i],其左边的数都小于等于它,右边的数都大于等于它.能否只用一个额外数组和少量其它空间实现. 分析:这题很直观的一个算法是,挨个的查找各个元素是否满足条件,算法的复杂度是O(n^2),太过复杂. 但如果我们在从左到右扫描数组的时候,能够维护一个candidate的数组, 该数组的元素满足: 到目前为止,这些元素都大于等于它前面的元素,而小于等于到目前为止扫描到的它右边的所有元素. 容易证明, candi…
1.how to look 拉丁词根specto,to look的意思,是许多常见英文词语的来源,如spectacle(['spektәkl] n. 值得看的东西, 光景, 眼镜).spectator([spek'teitә] n. 观众, 旁观者).inspect.retrospect.prospect([prә'spekt] n. 景色, 希望, 展望 v. 探勘, 寻找)等等. 这个词根的变化形式spic-,它可以在conspicuous([kәn'spikjuәs] adj. 显著的,显…
回车: carriage return, 是将光标在同一行中, 回到当前行的 行首. 回来的本意就是 返回.. 所以 是同一行的行首. CR 换行: line feed: feed: 饲养(动物); 喂养(孩子); 供给, 供应的意思. LF 回车 用 \r 符号表示, 十进制值是 13, 十六进制是: 0x 0d. 换行: 用 \n 表示, 十进制值是10, 十六进制是 0x 0a unix 类系统, 适用 的是 换行, lf, \n, mac系统适用 的是 回车 \r, CR 而window…
T1 电压机制 把题目转化为找那些边只被奇数环包含. 这样的话直接$dfs$生成一棵树,给每个点附上一个深度,根据其他的非树边都是返祖边 可以算出环内边的数量$dep[x]-dep[y]+1$,然后判断 如果在统计时使用差分的思想,可以复杂度降到$O(n)$,也可以用$set$多一个$log$都能过 1 #include<bits/stdc++.h> 2 using namespace std; 3 namespace AE86{ 4 inline int read(){ 5 int x=0,…
以后估计都是用\(markdown\)来写了,可能风格会有变化 T1 宝藏 这两天老是会的题打不对,还是要细心... 考场上打的是维护\(set\)的做法,但是是最后才想出来的,没有维护对于是没有交.. 然后觉得细节太多于是下午来的就去打了比较好搞得权值线段树 基本思想就是用一个指针\(pos\)指向当前需要更新的答案(\(pos\times 2+1\)是题目输入的选择的数的个数,这样解释应该就好懂了) 那么考虑先将所有宝藏按照价值从小到大排序,发现从最后开始向前扫每一个宝藏,他可以更新的\(p…
T1 宝藏 发现每个数成为中位数的长度是关于权值单调的.线段树二分判断是否合法,单调指针扫即可. 考场上写了二分,平添\(\log\). \(code:\) T1 #include<bits/stdc++.h> using namespace std; namespace IO{ typedef long long LL; LL read(){ LL x=0,f=1; char ch=getchar(); while(ch<'0'||ch>'9'){ if(ch=='-') f=-…
T1 欧拉筛质数时若 \(i\) 是质数且没有被用过就顺便用于计算结果,复杂度 \(O(n)\) #include<bits/stdc++.h> using namespace std; inline int Rd() { register int x=0; char C=getchar(); for(;C<'0'||C>'9';C=getchar()) ; for(;C>'/'&&C<':';C=getchar()) x=(x<<1)+(x…
T1. 显然往 \(x < 0, y < 0\) 的点走一定不优. 根据转移式可发现 \(C(x, y)\) 即从 \((0, 0)\) 走到 \((x, y)\) 的方案数 \(\dbinom {x + y} {x}\). 那么兜一个圈圈再回到目的地显然没有直接往目的地走优. 于是我们可以强化限制:每一步只能向右或者上走. 设 \(f_{i, j}\) 表示走到 \((i, j)\) 的体力的最小花费,则有 \(f(i, j) = \min \{f(i - 1, j), f(i, j - 1…
问题: 你被要求编写一个叫做 WebsiteRacer 的函数,用来对比请求两个 URL 来「比赛」,并返回先响应的 URL.如果两个 URL 在 10 秒内都未返回结果,那么应该返回一个 error.   实现这个功能我们需要用到  net/http 用来调用 HTTP 请求  net/http/httptest 用来测试这些请求  Go 程(goroutines) select 先写测试 我们从最幼稚的做法开头把事情开展起来. func TestRacer(t *testing.T) { s…