20190819 [ B ]-沫

这次考试很懵,于是我记录了考试过程。

这是B场,比较简单,A场比赛题解请去

下面直接展开=。=

考试过程:

先看三道题,

T1,我一下就想到了内个等比数列。于是慌了,我当时是水果的。

T2,没思路

T3,好像是$DP$

QvQ就是$DP$

T1:

试 std::set ing

#include <bits/stdc++.h>
using namespace std;
int main(){
	set<int> qwq;
	//qwq.insert(132);
	qwq.insert(100);
	qwq.insert(120);
	auto i=qwq.find(120),j=i;
	i++,j--;
	if(i==qwq.end())puts("End");
	cout<<*i<<" "<<*j<<endl;
}
/*
试试set怎么用 ̄▽ ̄
7
1 5 11 2 6 4 7
*/

 T2:

/*
可以建边。(感觉要时空双爆)
好像出不了环(
由较大集合向较小集合建边。
交-----产生新节点,所有原节点向其建边
并-----产生新节点,向所有原节点建边
有向边的联通性就是集合的交并关系。
如果A->B可行,则1,反之0,这里使用暴搜判断。
不知道能不能倍增或是,二分?
复杂度:最劣为O(N*M)
在随机数据中可为logN
感觉这里时间复杂度很玄学。
说不定就过了呢(・∀・)
看数据范围,40~90分不等
出题人会毒瘤么QAQ
也许可以记忆化~~但是不知道怎么做……
输入是什么狗屎。 没K?! 使用类快读判换行, 或者……getline?
×××,有K,又××读错题了 询问:Y是否包含X Y--->X 3 5 0 0 2 1 2 1 1 4 0 1 2 3 4 1 4 5 1 4 2 */

 T3:

/*
区间Dp???
dp「i」「1/0」到达i城,且是否付了i城的税。
还需要记上车城市。
不对啊
dp「i」就可以吧~好像是线性DP
前缀和
可以维护城市两两之间的距离

首先有:从一个站坐到另一个站一定优于中间停站
即cost[A->C]<=cost[A->B]+cost[B->C];
然后呢??
先暴力!Θ(N*K)
然后想优化
维护一个……
堆??单队??要不再来个set?
题目的特性:
花费总是最大值。
于是有,理想最小花费应是$min(sum A_i,sum B_i)$;
*/

 Updated:我一定是××了,T3竟然输出了$dp[n+1]$???

结果:

9/36
Miemeng 100
03:19:39
50
03:19:36
10
03:29:05
160
03:29:05

就这样了。

原文地址:https://www.cnblogs.com/kalginamiemeng/p/Exam20190819.html