T1 嘟嘟噜

上来一看数据范围1e9就蒙蔽,然后不知所措的打了一个 $ O(n)$的无脑算法,由于本人真的脑小,导致O(n)的柿子推了好长时间,导致心态崩了,然后........ 今天能明白了log的算法,算是约瑟夫问题弄明白了,没有想到跳跃式的竟然可以log求。

#include<bits/stdc++.h>
using namespace std;
#define re register
inline int read()
{
int x=,f=;char cc=getchar();
while(cc>''||cc<''){if(cc=='-')f=-;cc=getchar();}
while(cc>=''&&cc<=''){x=(x<<)+(x<<)+cc-'';cc=getchar();}
return x*f;
}
const int maxn=;
int n,k,m,S;
int ans[maxn];
queue<int>q;
set<int>pc,fc;
stack<int>s;
int main()
{
n=read(),k=read(),m=read(),S=read();
for(int i=,u;i<=m;i++)
{
u=read();
ans[u]=-;
}
q.push(S);
for(re int i=;i<=n;++i)
if(i!=S&&ans[i]!=-)
{
if(i&)pc.insert(i);
else fc.insert(i);
}
while(q.size()&&(!pc.empty()||!fc.empty()))
{
int x=q.front();q.pop();
if((x&)==(k&))
{
for(auto it=pc.lower_bound(max(x-k+,k-x));it!=pc.end()&&*it<x+k;++it)
{
int zz=(k-(abs(x-*it)+))>>;
if(zz>n-max(*it,x))break;
q.push(*it);
ans[*it]=ans[x]+;
s.push(*it);
}
while(s.size())pc.erase(s.top()),s.pop();
continue;
}
for(auto it=fc.lower_bound(max(x-k+,k-x));it!=fc.end()&&*it<x+k;++it)
{
int zz=(k-(abs(x-*it)+))>>;
if(zz>n-max(*it,x))break;
ans[*it]=ans[x]+;
q.push(*it);
s.push(*it);
}
while(s.size())fc.erase(s.top()),s.pop();
}
for(re int i=;i<=n;++i)
{
if(!ans[i]&&(i!=S))ans[i]=-;
printf("%d ",ans[i]);
}
return ;
}

T2 天才绅士少女助手克里斯蒂娜

看题就发现是原题,然后想到当时自己连题解都没有颓,就崩了,然后想到当时就是wba大神造的数据,我就感到了一丝不妙,其实就是拆一下柿子就出来了!

然后我就怀着爆零的心情去看T3

#include<bits/stdc++.h>
using namespace std;
#define int long long
inline int read()
{
int f=,x=;char ch=getchar();
while(ch<''||ch>''){if(ch=='-')f=-;ch=getchar();}
while(ch>=''&&ch<=''){x=x*+ch-'';ch=getchar();}
return x*f;
}
const int maxn=;
const int mod=;
int n,m;
struct BIT
{
int tr[maxn];
inline int lowbit(int x){return x&(-x);}
inline int query(int x)
{
int res=;
while(x)
{
(res+=tr[x]+mod)%=mod;
x-=lowbit(x);
}
return res;
}
inline void update(int x,int val)
{
while(x<=n)
{
(tr[x]+=val+mod)%=mod;
x+=lowbit(x);
}
return ;
}
}t1,t2,t3;
int a1[maxn],a2[maxn],a3[maxn]; struct node
{
int x,y;
inline void make(int _x,int _y){x=_x,y=_y;return ;}
}s[maxn]; signed main()
{
//freopen("inputs2.in","r",stdin);
n=read();m=read();
for(int i=,x,y;i<=n;i++)
{
x=read(),y=read();
s[i].make(x,y);
}
for(int i=;i<=n;i++)
{
a1[i]=(s[i].x*s[i].x%mod)%mod;
a2[i]=(s[i].y*s[i].y%mod)%mod;
a3[i]=(s[i].x*s[i].y%mod)%mod;
t1.update(i,a1[i]);
t2.update(i,a2[i]);
t3.update(i,a3[i]);
}
int opt=;
while(m--)
{
opt=read();
if(opt==)
{
int p=read(),x=read(),y=read();
s[p].x=x,s[p].y=y;
int c1=a1[p],c2=a2[p],c3=a3[p];
a1[p]=x*x%mod,a2[p]=y*y%mod;a3[p]=x*y%mod;
t1.update(p,a1[p]-c1);
t2.update(p,a2[p]-c2);
t3.update(p,a3[p]-c3);
}
else
{
int l=read(),r=read();
int ans=;
ans=((t1.query(r)-t1.query(l-)+mod)%mod*(t2.query(r)-t2.query(l-)+mod)%mod+mod)%mod;
int tt=((t3.query(r)-t3.query(l-)+mod)%mod+mod)%mod;
ans=((ans-tt*tt%mod+mod)%mod+mod)%mod;
printf("%lld\n",ans);
}
}
return ;
}

T3

就是一个LCIS,当时学的时候还被人消费来着(LSC  LCIS)然后在看出是dp之后由于剩的时间过少,还想调T2所以直接打的爆搜,按说应该可以20分,但是只有10分,

3
考虑 DP. 设状态 dp(i, j) 表示 a 序列考虑到 i, b 序列考虑到 j 并且必须选 b j 的最
大长度. 当 a i = b j 时, 显然有转移 dp(i, j) = max k<j,b k <b j {dp(i − 1, k)} + 1.
于是从小到大枚举 j, 维护 max k<j,b k <a i {dp(i − 1, k)}, 直接转移即可.
时间复杂度 O(nm).

由于前几场考试T1过于水,导致之前的T1都切了,而且一般20分钟之内就可以A,所以这次T1拖了1个小时,就心态炸了,还是要历练!@……@

#include<bits/stdc++.h>
using namespace std;
#define re register
#define LL long long
template<class T>
inline void read(T &x)
{
T f=;x=;char ch=getchar();
while(ch<''||ch>''){if(ch=='-')f=-;ch=getchar();}
while(ch>=''&&ch<=''){x=x*+ch-'';ch=getchar();}
x=x*f;
}
int n,m;
const int maxn=;
LL a[maxn],b[maxn];
bool vis[maxn];
int ch[maxn],tot;
int dp[maxn][maxn];
int pre[maxn][maxn];
int sta[maxn],topp;
inline void ba(re int x,re int y)
{
if(x==||y==)return;
re int qq=pre[x][y];
if(y!=qq)sta[++topp]=b[y];
ba(x-,qq);
}
signed main()
{
//freopen("inputs3.in","r",stdin);
read(n);
for(re int i=;i<=n;i++)
read(a[i]);
read(m);
for(re int i=;i<=m;i++)
read(b[i]);
for(re int i=;i<=n;i++)
{
int res=,id=;
if(b[]<b[])res=dp[i-][],id=;
for(re int j=;j<=m;j++)
{
if(a[i]==b[j])
{
pre[i][j]=id;
dp[i][j]=res+;
}
else
{
pre[i][j]=j;
dp[i][j]=dp[i-][j];
}
if(b[j]<a[i])
{
if(res<=dp[i-][j])
{
res=dp[i-][j],id=j;
}
}
}
}
int ans=,id=;
for(re int i=;i<=m;i++)
{
if(dp[n][i]>=ans)ans=dp[n][i],id=i;
}
printf("%d\n",dp[n][id]);
ba(n,id);
while(topp)
{
printf("%d ",sta[topp]);
topp--;
}
return ;
}

1005 csp-s 60 凉凉的更多相关文章

  1. PKUWC2019 凉凉记

    请配合 BGM 食用. 菜就是菜,说什么都是借口. Day 0 前一天先到纪中报道,高铁上打了一会单机膈膜,然后又打了一遍 \(FFT\) 板子,就到了中山. 到了后,发现气温骤然升高,马上 脱 换裤 ...

  2. NOIP2018凉凉记

    首先声明一下,我去不了TG,因为我太菜了GD的某教授把我打到PJ了…… 虽然就我这实力普及都不一定1= 不管了,这次是普及,就当扎实基础了.反正HF的 $\text{hhz}$ 也考PJ,见个面多好啊 ...

  3. 世界最大BT服务器本周死了三回 海盗湾要凉凉?

    想當初,我是受到BT網站海盜灣的啟發,開發了一個DHT下載網站:http://www.ibmid.com,有一段時間通宵編程,理解此個協議. 海盗湾(The Pirate Bay)是世界上最大的 BT ...

  4. SDOI2018凉凉记

    好久没有更博客了...因为我在颓废学习.. SDOI一轮结束了...我也该回来学地生了... 凉凉 ————————————————我是分割线———————————————— Day0 愉快感冒的Da ...

  5. AHOI2019N省联考凉凉记

    博主并未时空穿越,本文没有对选手造成恐慌 DAY0 这已经是我第四次省选了,时间真快啊,怀念三年前毫无压力的省选,考完以后如果有时间并且没退役的话可能会陆续搬以前写在别处的游记(主要是2018年的游记 ...

  6. 最近Android真的凉凉了?

    都说Android最近行情不好,很多人都遇到瓶颈或放弃或转行.其实这种情况15年16年也是如此,相对比之下,个人认为今年比去年好多了,Android接下来将会走向复苏的春天. 自从Google开始推出 ...

  7. 凉凉了,Eureka 宣布闭源,Spring Cloud 何去何从?

    今年 Dubbo 活了,并且被 Apache 收了.同时很不幸,Spring Cloud 下的 Netflix Eureka 组件项目居然宣布闭源了.. 已经从 Dubbo 迁移至 Spring Cl ...

  8. 凉凉了,Eureka 2.x 停止维护,Spring Cloud 何去何从?

    今年 Dubbo 活了,并且被 Apache 收了.同时很不幸,Spring Cloud 下的 Netflix Eureka 组件项目居然宣布停止开发了.. 已经从 Dubbo 迁移至 Spring ...

  9. 字节跳动Android面试凉凉,挥泪整理面筋,你不看看吗?

    想在金九银十找工作的现在可以开始准备了,这边给大家分享一下面试会遇到的问题. 找工作还是需要大家不要担心,由于我们干这一行的接触人本来就不多,难免看到面试官会紧张,主要是因为怕面试官问的答不上来,答不 ...

随机推荐

  1. HTTP/1.1与HTTP/2有什么区别?

    介绍 超文本传输​​协议(HTTP)是一种应用协议,自1989年发明以来,它一直是事实上在万维网上进行通信的标准.从1997年发布HTTP / 1.1到最近,对它的修改很少.协议.但是在2015年,重 ...

  2. asp.net core 腾讯验证码的接入

    asp.net core 腾讯验证码的接入 Intro 之前使用的验证码服务是用的极验验证,而且是比较旧的,好久之前接入的,而且验证码服务依赖 Session,有点不太灵活,后来发现腾讯也有验证码服务 ...

  3. 技术不错的Java程序员,为何面试却“屡战屡败”

    为何很多有不少编程经验,技术能力不错的程序员,去心仪公司面试时却总是失败?至于失败的原因,可能很多人都没意识到过. 01想要通关面试,千万别让数据结构拖了后腿 很多公司,比如 BAT.Google.F ...

  4. string字符串转数组

    /** * THis_is_a_cat * This Is A Cat * * Cat A Is This * @author Administrator * */ public class Test ...

  5. ElasticSearch安装SQL插件

    ElasticSearch安装SQL插件下载地址(中国大佬开发的,膜拜ing):https://github.com/NLPchina/elasticsearch-sql 1.记得选择和自己Elast ...

  6. .net core gRPC与IdentityServer4集成认证授权

    前言 随着.net core3.0的正式发布,gRPC服务被集成到了VS2019.本文主要演示如何对gRPC的服务进行认证授权. 分析 目前.net core使用最广的认证授权组件是基于OAuth2. ...

  7. SQLMAP SSI注入错误解决

    记一次SQL注入 目标地址:https://www.xxxx.com/ 之前补天提交过这个注入  后来貌似”修复了”(实际就是装了安全狗和过滤了一些关键字) 不过今天试了下 还是可以注入 可以看到已经 ...

  8. css 文字间距

    letter-spacing :  字与字之间的距离 text-indent : 行的抬头间距 line-height : 行高度

  9. 中国.NET开发者峰会特别活动-基于k8s的微服务和CI/CD动手实践报名

    2019.11.9 的中国.NET开发者峰会将在上海举办,到目前为止,大会的主题基本确定,这两天就会和大家会面,很多社区的同学基于对社区的信任在我们议题没有确定的情况下已经购票超过了300张,而且分享 ...

  10. 【python数据分析实战】电影票房数据分析(一)数据采集

    目录 1.获取url 2.开始采集 3.存入mysql 本文是爬虫及可视化的练习项目,目标是爬取猫眼票房的全部数据并做可视化分析. 1.获取url 我们先打开猫眼票房http://piaofang.m ...