IFROG线上赛做过的题目
#6
1068:
找规律
int main(){
int t,n;
cin>>t;
while(t--){
cin>>n;
if(n%3==0)printf("%d\n",n/3);
else printf("%d\n",n);
}
}
1069
二维树状数组
int bit[1234][1234],n;
int cha(int x1,int y1,int d){
for(int a=x1;a<=n+1;a+=(a&-a))
for(int b=y1;b<=n+1;b+=(b&-b))bit[a][b]+=d;
}
int sum(int x,int y){
int ans=0;
for(int a=x;a>=1;a-=(a&-a))
for(int b=y;b>=1;b-=(b&-b))ans+=bit[a][b];
return ans;
}
void solve(){memset(bit,0,sizeof(bit));
n=gi;int q=gi;
for(int i=1;i<=q;i++){
char s[3];
scanf("%s",s);
if(s[0]=='Q'){
int x,y;
x=gi;y=gi;
printf("%d\n",sum(x,y));
}
if(s[0]=='C'){
int x1,y1,x2,y2;
x1=gi;y1=gi;x2=gi;y2=gi;
cha(x2+1,y2+1,1);//puts("!");
cha(x1,y1,1);//puts("!");
cha(x1,y2+1,-1);//puts("!");
cha(x2+1,y1,-1);//puts("!");
}
}
}
int main(){
int t=gi;
while(t--){ solve();
if(t)puts("");
}
}
#7
1071
观察之后发现在前缀和意义下一次操作只会变换前缀和的顺序,不会产生或改变值出现的次数
int main(){
int t=gi;
while(t--){
n=gi;
s1[0]=s2[0]=0;
for(int i=1;i<=n;i++)a[i]=gi,s1[i]=s1[i-1]+a[i];
for(int i=1;i<=n;i++)b[i]=gi,s2[i]=s2[i-1]+b[i];
sort(s1+1,s1+n+1);
sort(s2+1,s2+n+1);
string ans="Yes";
for(int i=1;i<=n;i++){
if(s1[i]!=s2[i]){
ans="No";break;
}
}
cout<<ans<<endl;
}
}
1072
拿一个set一个vector暴力删除子树,由于出现过的结点最多n个,set操作不会超过n次,所以暴力删除
int t,cnt,dep[123456];
set<pair<int,int> >s;
vector<int>son[123456];
void dfs(int x){
for(int i=0;i<son[x].size();i++){
s.erase((make_pair(-dep[son[x][i]],son[x][i])));
dfs(son[x][i]);
}
son[x].clear();
}
int main(){
t=gi;int n=0;
while(t--){
for(int i=1;i<=n;i++)son[i].clear();
n=gi;
memset(dep,0,sizeof(dep));
cnt=1;
s.clear();
s.insert(make_pair(-dep[1],1));
for(int i=1;i<=n;i++){
char ch=getchar();
int x=gi;
if(ch=='+'){
++cnt;
if(s.find(make_pair(-dep[x],x))!=s.end()){
dep[cnt]=dep[x]+1;
son[x].push_back(cnt);
s.insert(make_pair(-dep[cnt],cnt));
}
}else{
dfs(x);
s.erase(make_pair(-dep[x],x));
}
cout<<s.begin()->second<<"\n";
}
}
return 0;
}
1073
。。
int n,T,a[123456];
int ans[123456],_;
int main(){
T=gi;
while(T--){
int n=gi;
map<int,int>m;
for(int i=1;i<=n;i++)a[i]=gi,m[a[i]]++;
bool flag=1; _=0;
for(map<int,int>::iterator it=m.begin();it!=m.end();*it++){
if(it->second>1)flag=0,ans[++_]=it->first;
}
if(flag)puts("none");else{
for(int i=1;i<_;i++)printf("%d ",ans[i]);
printf("%d",ans[_]);
puts("");
}
}
}
1074
能量项链。
int n,e[1234];
int f[1234][1234];
int main(){
int T=gi;
while(T--){
n=gi;
memset(f,0,sizeof(f));
for(int i=1;i<=n;i++)e[i]=gi;
e[0]=e[n+1]=1;
for(int j=2;j<=n+1;j++)
for(int i=j-1;i>=0;i--)
for(int k=i;k<j;k++)
f[i][j]=max(f[i][k]+f[k+1][j]+e[i]*e[k+1]*e[j+1],f[i][j]);
cout<<f[0][n]<<endl;
}
}
IFROG线上赛做过的题目的更多相关文章
- 2018 ACM-ICPC 中国大学生程序设计竞赛线上赛 H题 Rock Paper Scissors Lizard Spock.(FFT字符串匹配)
2018 ACM-ICPC 中国大学生程序设计竞赛线上赛:https://www.jisuanke.com/contest/1227 题目链接:https://nanti.jisuanke.com/t ...
- 2018 ACM-ICPC 中国大学生程序设计竞赛线上赛 F题 Clever King(最小割)
2018 ACM-ICPC 中国大学生程序设计竞赛线上赛:https://www.jisuanke.com/contest/1227 题目链接:https://nanti.jisuanke.com/t ...
- “玲珑杯”线上赛 Round #17 河南专场
闲来无事呆在寝室打打题,没有想到还有中奖这种操作,超开心的 玲珑杯”线上赛 Round #17 河南专场 Start Time:2017-06-24 12:00:00 End Time:2017-06 ...
- 2017年第二届广东省强网杯线上赛WEB:Musee de X writeup(模板注入漏洞)
目录 解题思路 总结 解题思路 拿到手上,有四个页面 首先按照题目要求执行,尝试注册一个名为admin的账户 这种情况,路径都给出来了,很可能就是目录遍历或者文件上传了 回到初始界面,点击链接here ...
- Redis线上环境做Keys匹配操作!你可以离职了!
转自:https://blog.csdn.net/bntx2jsqfehy7/article/details/84207884一.一个新闻 新闻内容如下:php工程师执行redis keys * 导致 ...
- 2017CUIT校赛-线上赛
2017Pwnhub杯-CUIT校赛 这是CUIT第十三届校赛啦,也是我参加的第一次校赛. 在被虐到崩溃的过程中也学到了一些东西. 这次比赛是从5.27早上十点打到5.28晚上十点,共36小时,中间睡 ...
- 2019第十二届全国大学生信息安全实践创新赛线上赛Writeup
本文章来自https://www.cnblogs.com/iAmSoScArEd/p/10780242.html 未经允许不得转载! 1.MISC-签到 下载附件后,看到readme.txt打开后提 ...
- ISCC 2018线上赛 writeup
今天有机会去ISCC2018参加了比赛,个人的感受是比赛题目整体难度不高,就是脑洞特别大,flag形式不明确,拿到flag后也要猜测flag格式,贼坑 废话不多说,以下是本人的解题思路 MISC 0x ...
- 2019 第三届强网杯线上赛部分web复现
0x00前言 周末打了强网杯,队伍只做得出来6道签到题,web有三道我仔细研究了但是没有最终做出来,赛后有在群里看到其他师傅提供了writeup和环境复现的docker环境,于是跟着学习一波并记录下来 ...
随机推荐
- git push之后回滚(撤销)代码
问题描述:首先,先说明一下,为什么会引发这次的话题,是这样的,我做完功能Agit push之后,2个月后需求部门要求不要功能A了,然后需要在没有功能A的基础上开发,怎么办?赶紧回滚代码呀. 然后我用g ...
- python构造二维列表以及排序字典
1. 构造二维列表: 比如我现在需要一个100*100的二维列表: a = [] for i in range(100): a.append([]) for j in range(100): a[i] ...
- linux的date常用命令
1.显示现在时间 date 2.显示今天日期 date +"%F" date +"%Y-%m-%d" 3.现在时间转化为时间戳 date +%s 4.指定某日期 ...
- C语言Windows程序开发—CreateWindow函数介绍【第03天】
(一)CreateWindow函数的参数介绍: HWND CreateWindow( LPCTSTR lpClassName, //Windows窗口中预定义的控件结构体,包括:BUTTON(按钮), ...
- POJ1985 树的直径(BFS
Cow Marathon Description After hearing about the epidemic of obesity in the USA, Farmer John wants ...
- 当安装mongodb客户端出现了Failed to load list of databases
在装mongodb最新版(4.1.5开发版)服务后,我用robo3t打开它的时候遇到了这个问题. 最直接的解决办法就是换一个mongodb版本,https://github.com/Studio3T/ ...
- (原创)用Verilog实现一个参数化的呼吸灯(Verilog,CPLD/FPGA)
1.Abstract 观察到一个有趣的现象,每当把Apple笔记本合上的时候,那个白色的呼吸灯就会反复地由暗渐明,然后又由明渐暗,乍一看就像Apple笔记本在打盹休息一样,十分可爱!于是突发奇 ...
- 图表制作工具之ECharts
简介 ECharts,缩写来自Enterprise Charts,商业级数据图表,一个纯Javascript的图表库,可以流畅的运行在PC和移动设备上,兼容当前绝大部分浏览器(IE6/7/8/9/10 ...
- C#的特性Attribute
一.什么是特性 特性是用于在运行时传递程序中各种元素(比如类.方法.结构.枚举.组件等)的行为信息的声明性标签,这个标签可以有多个.您可以通过使用特性向程序添加声明性信息.一个声明性标签是通过放置在它 ...
- 掘金 Android 文章精选合集
掘金 Android 文章精选合集 掘金官方 关注 2017.07.10 16:42* 字数 175276 阅读 50053评论 13喜欢 669 用两张图告诉你,为什么你的 App 会卡顿? - A ...