连续几天都有点炸

预计的分拿不到,调整好心态,考试的时候多想一下,think twice,code once

唉,什么情况啊

题解链接

0+0+0

T1读错题输出反了

n*m%2判断是否==1

T2

40分暴力忘记取mod了,全炸了gg

T3

70分暴力输出了中间变量,然后主席树写成了区间第k小,gg

建立10颗线段树维护前k大,因为k<=10

总结:以后认真点.....多推一下样例,合理分配时间,多思考

做完之后检查,最后几分钟不调新程序

下午

题解链接

我可能只能口头ac了,考完后都能说出正解,就是写不来,也许不吃饭就考不好????,我好菜啊

10+20+10

没状态,笔记本不好用,其实T2和T3是都可以切的,但是做了T1,虽然最后想出来了,没写不出来,不值。

T1 找环dfs瞎搞找错了,做了2h,后边没法做了

#include<cstdio>
#include<vector>
#include<cstring>
using namespace std;
const int maxn = ;
struct node{
int v,next;
}edge[maxn*];
int head[maxn*];
const int mod =1e9+;int num;
inline void add_edge(int u,int v) {
edge[++num].v=v;edge[num].next=head[u];head[u]=num;
}
inline int read() {
int x=,f=;
char c=getchar();
while(c<''||c>'') {if(c=='-')f=-;c=getchar();}
while(c>=''&&c<='')x=x*+c-'',c=getchar();
return x*f;
}
bool vis[maxn*];
int n,m;bool flag=;
int dfs(int u,int f) {
int cnt=;
vis[u]=;
for(int i=head[u];i;i=edge[i].next) {
int v=edge[i].v;
if(v==f)continue;
if(vis[v])flag=;
else cnt=(cnt+dfs(v,u))%mod;
}
return cnt%mod;
}
int rd[maxn];
int main () {
n=read();m=read();
for(int i=;i<=m;++i) {
int a=read(),b=read();
add_edge(a,b);add_edge(b,a);
}
long long ans=;
for(int i=;i<=n;++i) {
if(!vis[i]){
flag=;
int qqq=dfs(i,)%mod;
if(!flag)ans=(ans%mod*qqq%mod)%mod;
else ans=(ans<<)%mod;
}
}
printf("%lld\n",ans);
}

T2 想出来了正解,没时间写了,暴力写炸

#include<cmath>
#include<cstdio>
#include<iostream>
using namespace std;
typedef long long LL;
LL n,ans,cnt;
LL a[],k;
int main() {
// freopen("endless.in","r",stdin);
// freopen("endless.out","w",stdout);
cin>>n>>k;
LL x=n;
while(x) {
a[++cnt]=x%k;
x/=k;
}
if(cnt%==) ans=pow(k,cnt/);
else {
for(int i=cnt;i>=1;i--) {
if(a[i]>0&&i%2==0) {
ans+=pow(k,i/2);
break;
}
if(a[i]==&&i%) continue;
ans+=a[i]*pow(k,i/);
if(i==&&a[i]>) ans++;
}
}
cout<<ans<<endl;
return ;
}

T3 想出来了正解,没写,暴力写炸

#include<algorithm>
#include<cstring>
#include<cstdio>
using namespace std;
#define maxn 200007
#define LL long long
int n,K;
int num=;
int val[maxn<<],pos[maxn<<],fa[maxn<<];
int clo[maxn<<],cle[maxn<<],lason[maxn<<],tot=;
struct node{
int v,next;
}edge[maxn<<];
int head[maxn<<];
LL dis[maxn<<],tree[maxn<<],tag[maxn<<],ans=;//I64d见祖宗
void add_edge(int u,int v){
edge[++num].v=v;edge[num].next=head[u];head[u]=num;
}
void dfs(int rt) {
clo[rt]=++tot;cle[tot]=rt;
for(int i=head[rt];i;i=edge[i].next) {
if(edge[i].v==fa[rt]) continue;
fa[edge[i].v]=rt;dis[edge[i].v]=dis[rt]+(LL)val[edge[i].v];
dfs(edge[i].v);
}
lason[rt]=tot;
}
void merge(int l,int r,int rt) {
tree[rt]=tree[rt<<];pos[rt]=pos[rt<<];
if(tree[rt] < tree[rt<<|]) tree[rt]=tree[rt<<|],pos[rt]=pos[rt<<|];
return ;
}
void pushdown(int rt) {
if(!tag[rt]) return ;
tag[rt<<]+=tag[rt];tag[rt<<|]+=tag[rt];
tree[rt<<]-=tag[rt];tree[rt<<|]-=tag[rt];
tag[rt]=;return ;
}
void build(int l,int r,int rt) {
if(l==r) {
tree[rt]=dis[cle[r]];
pos[rt]=cle[r];return ;
}
int mid=(l+r)>>;
build(l,mid,rt<<);
build(mid+,r,rt<<|);
merge(l,r,rt);
}
void update(int l,int r,int rt,int ll,int rr,int c) {
if(ll<=l&& r<=rr) {
tree[rt]-=(LL)c;tag[rt]+=(LL)c;return ;
}
pushdown(rt);
int mid=(l+r)>>;
if(ll<=mid) update(l,mid,rt<<,ll,rr,c);
if(rr>mid) update(mid+,r,rt<<|,ll,rr,c);
merge(l,r,rt);
}
int main() {
//freopen("tour.in","r",stdin);
//freopen("tour.out","w",stdout);
int u,v,now;
scanf("%d%d",&n,&K);
for(int i=;i<=n;i++) scanf("%d",val+i);
for(int i=;i<n;i++)
scanf("%d%d",&u,&v),add_edge(u,v),add_edge(v,u);
dis[]=val[];
dfs();
build(,n,);
while(K--) {
if(!tree[]) break;
ans+=tree[];now=pos[];
while(val[now]) {
update(,n,,clo[now],lason[now],val[now]);val[now]=;now=fa[now];
}
}
printf("%lld\n",ans);
return ;
}

济南day3的更多相关文章

  1. 冲刺阶段day3

    day3 项目进展 今天周三,我们五个人难得的一整个下午都能聚在一起.首先我们对昨天的成果一一地查看了一遍,并且坐出了修改.后面的时间则是做出 登录界面的窗体,完善了登录界面的代码,并且实现了其与数据 ...

  2. python笔记 - day3

    python笔记 - day3 参考:http://www.cnblogs.com/wupeiqi/articles/5453708.html set特性: 1.无序 2.不重复 3.可嵌套 函数: ...

  3. python_way,day3 集合、函数、三元运算、lambda、python的内置函数、字符转换、文件处理

    python_way,day3 一.集合 二.函数 三.三元运算 四.lambda 五.python的内置函数 六.字符转换 七.文件处理 一.集合: 1.集合的特性: 特性:无序,不重复的序列 如果 ...

  4. Spark菜鸟学习营Day3 RDD编程进阶

    Spark菜鸟学习营Day3 RDD编程进阶 RDD代码简化 对于昨天练习的代码,我们可以从几个方面来简化: 使用fluent风格写法,可以减少对于中间变量的定义. 使用lambda表示式来替换对象写 ...

  5. Spark Tungsten揭秘 Day3 内存分配和管理内幕

    Spark Tungsten揭秘 Day3 内存分配和管理内幕 恭喜Spark2.0发布,今天会看一下2.0的源码. 今天会讲下Tungsten内存分配和管理的内幕.Tungsten想要工作,要有数据 ...

  6. Catalyst揭秘 Day3 sqlParser解析

    Catalyst揭秘 Day3 sqlParser解析 今天我们会进入catalyst引擎的第一个模块sqlparser,它是catalyst的前置模块. 树形结构 从昨天的介绍我们可以看到sqlPa ...

  7. Kakfa揭秘 Day3 Kafka源码概述

    Kakfa揭秘 Day3 Kafka源码概述 今天开始进入Kafka的源码,本次学习基于最新的0.10.0版本进行.由于之前在学习Spark过程中积累了很多的经验和思想,这些在kafka上是通用的. ...

  8. python s12 day3

    python s12 day3   深浅拷贝 对于 数字 和 字符串 而言,赋值.浅拷贝和深拷贝无意义,因为其永远指向同一个内存地址. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ...

  9. Day3 - Python基础3 函数、递归、内置函数

    Python之路,Day3 - Python基础3   本节内容 1. 函数基本语法及特性 2. 参数与局部变量 3. 返回值 嵌套函数 4.递归 5.匿名函数 6.函数式编程介绍 7.高阶函数 8. ...

随机推荐

  1. python3 连接 mysql和mariadb的模块

    是pymysql python2中是MySQL-python sudo pip install pymysql 参考博客https://www.jb51.net/article/140387.htm

  2. drf版本控制 django缓存

    drf的版本控制 内置的版本控制类 from rest_framework.versioning import QueryParameterVersioning,AcceptHeaderVersion ...

  3. Nordic Collegiate Programming Contest 2015​ G. Goblin Garden Guards

    In an unprecedented turn of events, goblins recently launched an invasion against the Nedewsian city ...

  4. re--参考手册

    表达式全集 字符 描述 \ 将下一个字符标记为一个特殊字符.或一个原义字符.或一个向后引用.或一个八进制转义符.例如,“n”匹配字符“n”.“\n”匹配一个换行符.串行“\\”匹配“\”而“\(”则匹 ...

  5. 常见的Linux目录及其含义

    /                                   系统根目录,通常不会在这里存放文件 . /bin                              二进制目录,存放许多 ...

  6. 关于ios 和 android 录音(语音)对聊文件格式问题

    关于ios 和 android 录音(语音)对聊文件格式问题 在做语音对讲的时候,将会碰到录制语音格式的问题,这些需要跨平台我们可能需要使用双方平台都支持的格式,或者执行编码转换 解决方式如下: wa ...

  7. iOS启动图 LaunchImage LaunchScreen.xib

    1.Images.xcassets添加LaunchImage 2.具体大小和添加类别都是可以调的 640*960   (4/4s)                                 2X ...

  8. day04_01 知识回顾、算术运算符

    ","和"+"的区别 除法运算,整除//,别名"地板除" 取余数 2**10 2的10次方 指数运算 指数运算符优先级要比乘法要高,所以先算 ...

  9. AtCoder Regular Contest 083

    C - Sugar Water Time limit : 3sec / Memory limit : 256MB Score : 300 points Problem Statement Snuke ...

  10. PreResultListener

    PreResultListener是要给监听器接口,他可以在Action完成控制处理之后,系统转入实际的物理视图之间被回调. Struts 2 可以由ActionInvocation的addPreRe ...