又寄了
但是std也寄了
T1 一眼dfs拿部分分。既然是要求组合方案数,那就直接枚举所有状态加上剪枝,期望得分45分但不知道为什么实际得分只有25分(大概时剪枝还没减够?但是我感觉剪枝率也已经很高了)。
T3 既然是要分别求出n个节点的最大深度,直接暴力bfs拿下部分分。bfs期望得分25,正解不会。
洛谷月赛
大意了,我开始打时就只剩一小时了。。。所以爆了。
T1&T2&T3&T4:水
T5:也不难,直接上哈希。由于课程的编号可以高达1e9,直接开数组存肯定会炸。然而课程总数最大才5*10^3,所以可以直接哈希带走。冲突的概率数量级是1e-3的,所以单哈希就很稳了。代码如下
#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,k[5005],f[20000005],m,in,p,s,ansk,ansu;
signed main()
{
cin>>n>>m;
for(int i=1;i<=1145141;i++)
{
f[i]=-1;
}
for(int i=1;i<=n;i++)
{
cin>>in;
k[i]=in%1145141;//不要在意模数
f[k[i]]=0;
}
for(int i=1;i<=m;i++)
{
cin>>p>>s;
f[p%1145141]=s;
}
for(int i=1;i<=1145141;i++)
{
if(f[i]!=-1)
{
if(f[i]==0)
{
ansk++;
}
if(f[i]<60)
{
ansu++;
}
}
}
cout<<ansk<<endl<<ansu<<endl;
}
然而今天的重点其实是导数,可是时间已经不多了
导数说白了其实是利用微分思想对一个函数的变化进行处理,可以理解成函数的函数(在一个极小的范围内),和物理里面的加加速度相似。在平面中,一个函数在某段长度极小的区间内(或者可以直接理解成一个点,和点的区别在于它在理论上还是一个段,但实际应用中由于其无限趋于0而通常把它当作点来看,Δx也经常被直接视为0。尤其是在其为高阶量时)的变化便是该函数在该段区间的导数。对于一个函数在一个点上的导数(假设该点可导),其在数值上等于(若忽视小量则为趋于)该函数在该点的斜率。大概就是这样吧,但要真正理解还得刷题。可以找高三的要练习。(但我这种数学菜鸟肯定是不会去做题的)