关于军训的模拟赛-R2
终于我也参加了一场有R1 && R2的比赛呢。
因为种种原因,老师认为上次的考试没有体现我们的真实水平,于是举办了毒瘤R2,其实也不是非常毒瘤,还是一贯的风格。
T1 : profit
概括题意:带点权的“没有上司的舞会”。然而题意有一点歧义,得看样例才能懂。
# include <cstdio>
# include <iostream> using namespace std; const int maxn=;
int n,firs[maxn],h,x,y,dep[maxn];
int a[maxn];
long long dp[maxn][];
struct edge
{
int too,nex;
}g[maxn<<]; void dfs (int x)
{
int j;
dp[x][]=a[x];
for (int i=firs[x];i;i=g[i].nex)
{
j=g[i].too;
if(dep[j]) continue;
dep[j]=dep[x]+;
dfs(j);
dp[x][]+=dp[j][];
dp[x][]+=max(dp[j][],dp[j][]);
}
} void add (int x,int y)
{
g[++h].too=y;
g[h].nex=firs[x];
firs[x]=h;
} int main()
{
freopen("profit.in","r",stdin);
freopen("profit.out","w",stdout); scanf("%d",&n);
for (int i=;i<=n;++i)
scanf("%d",&a[i]);
for (int i=;i<n;++i)
{
scanf("%d%d",&x,&y);
add(x,y);
add(y,x);
}
dep[]=;
dfs();
printf("%lld",max(dp[][],dp[][]));
return ;
}
profit
T2 : Torch
任意给定一个正整数n(n<=100000),求一个最小的正整数m,使得n*m的十进制表示形式里只含有1和0。输入n如果有解输出m,无解则输出“No Solution”。
首先写一个暴力,然后打表找规律,现在来看一下我打了哪些表:对于1-10000的答案,1-10000的二进制分解,答案的二进制分解,乘积的二进制分解,乘积分解质因数....于是这五个表都没啥用呢...真的找不到任何规律。后来想了一个方法优化暴力,直接枚举那个乘积,因为乘积只由0,1组成,可以用二进制来枚举,这样可以少枚举很多无效的情况,但是怎么判断无解呢?并没有什么办法,但是如果..乘积..超过longlong了是不是就不大好做了...所以只枚举乘积没有爆longlong的一些情况,如果这些都不出解就干脆输出无解好了。虽然看起来非常不科学,但是竟然A了...
# include <cstdio>
# include <iostream> using namespace std; int n,m;
long long ans=;
int t[],len; long long check (int x)
{
long long an=;
len=;
while (x)
{
t[++len]=x%;
x/=;
}
for (int i=len;i>=;--i)
an=an*+t[i];
if(an<) return -;
if(an%n==) return an/n;
return -;
} int main()
{
freopen("torch.in","r",stdin);
freopen("torch.out","w",stdout); scanf("%d",&n);
for (int i=;i<=;++i)
{
ans=check(i);
if(ans!=-)
{
cout<<ans;
fclose(stdin);
fclose(stdout);
return ;
}
}
printf("No Solution");
fclose(stdin);
fclose(stdout);
return ;
}
Torch
T3 : LongestRegularBracketsSequence
真·神题,图片题面,极长文件名,反复检查了十多遍也不放心。
求括号匹配最长串,SDWC讲过的,但是当时的方法极其复杂,其实也有简单一点的做法。
# include <cstdio>
# include <iostream>
# include <cstring>
# include <string> using namespace std; const int maxn=;
string s;
int a[maxn],len,Top=;
int sta[maxn],pos[maxn]; int main()
{
freopen("LongestRegularBracketsSequence.in","r",stdin);
freopen("LongestRegularBracketsSequence.out","w",stdout);
cin>>s;
len=s.length();
for (int i=;i<len;++i)
{
if(s[i]=='(') sta[++Top]=,pos[Top]=i;
else if(s[i]=='[') sta[++Top]=,pos[Top]=i;
else
{
if(s[i]==')')
{
if(sta[Top]==)
a[ pos[Top] ]=a[i]=,Top--;
else Top=;
}
else if(s[i]==']')
{
if(sta[Top]==)
a[ pos[Top] ]=a[i]=,Top--;
else Top=;
}
}
}
int beg=,ans=,n=,ans_len=;
for (int i=;i<len;++i)
{
if(a[i]) n++;
else
{
if(n>ans_len) ans_len=n,ans=beg;
beg=i+;
n=;
}
}
if(n>ans_len) ans_len=n,ans=beg;
for (int i=;i<ans_len;++i)
printf("%c",s[i+ans]);
fclose(stdin);
fclose(stdout);
return ;
}
LongestRegularBracketsSequence
T4 : MagicFingerprint
粘图片真开心。


看起来有点像数位dp,但是不是。其实就是一种逆向的推理,从7开始把一个数分裂成两个,但是我写炸了,最后就交了暴力。
# include <cstdio>
# include <iostream> using namespace std; int a,b,ans;
int d[],len; bool check (int x)
{
len=;
while (x)
{
d[++len]=x%;
x/=;
}
while (len!=)
{
for (int i=;i<len;++i)
d[i]=max(d[i],d[i+])-min(d[i],d[i+]);
len--;
}
if(d[]==) return true;
return false;
} int main()
{
freopen("MagicFingerprint.in","r",stdin);
freopen("MagicFingerprint.out","w",stdout); scanf("%d%d",&a,&b);
for (int i=a;i<=b;++i)
if(check(i)) ans++;
printf("%d",ans); fclose(stdin);
fclose(stdout);
return ;
}
MagicFingerprint
---shzr
关于军训的模拟赛-R2的更多相关文章
- 【HHHOJ】NOIP模拟赛 玖 解题报告
点此进入比赛 得分: \(100+20+100=220\)(还不错) 排名: \(Rank\ 16\) \(Rating\):\(+20\) \(T1\):[HHHOJ263]「NOIP模拟赛 玖」三 ...
- 5.4QBXT 模拟赛 (Rank1 机械键盘 蛤蛤)
NOIP2016提高组模拟赛 ——By wangyurzee7 中文题目名称 纸牌 杯具 辣鸡 英文题目与子目录名 cards cups spicychicken 可执行文件名 cards cups ...
- NOIP模拟赛20161022
NOIP模拟赛2016-10-22 题目名 东风谷早苗 西行寺幽幽子 琪露诺 上白泽慧音 源文件 robot.cpp/c/pas spring.cpp/c/pas iceroad.cpp/c/pas ...
- NOI模拟赛 Day1
[考完试不想说话系列] 他们都会做呢QAQ 我毛线也不会呢QAQ 悲伤ING 考试问题: 1.感觉不是很清醒,有点困╯﹏╰ 2.为啥总不按照计划来!!! 3.脑洞在哪里 4.把模拟赛当作真正的比赛,紧 ...
- NOIP第7场模拟赛题解
NOIP模拟赛第7场题解: 题解见:http://www.cqoi.net:2012/JudgeOnline/problemset.php?page=13 题号为2221-2224. 1.car 边界 ...
- contesthunter暑假NOIP模拟赛第一场题解
contesthunter暑假NOIP模拟赛#1题解: 第一题:杯具大派送 水题.枚举A,B的公约数即可. #include <algorithm> #include <cmath& ...
- NOIP模拟赛 by hzwer
2015年10月04日NOIP模拟赛 by hzwer (这是小奇=> 小奇挖矿2(mining) [题目背景] 小奇飞船的钻头开启了无限耐久+精准采集模式!这次它要将原矿运到泛光之源的矿 ...
- 小奇模拟赛9.13 by hzwer
2015年9月13日NOIP模拟赛 by hzwer (这是小奇=> 小奇挖矿(explo) [题目背景] 小奇要开采一些矿物,它驾驶着一台带有钻头(初始能力值w)的飞船,按既定路线依次飞 ...
- PKUSC 模拟赛 day1 下午总结
下午到了机房之后又困又饿,还要被强行摁着看英文题,简直差评 第一题是NOIP模拟赛的原题,随便模拟就好啦 本人模拟功力太渣不小心打错了个变量,居然调了40多分钟QAQ #include<cstd ...
随机推荐
- thinkphp ajax删除 隐藏与显示
知识点: 1.ajax删除: 2.一个同步实现三个异步的效果. html 部分 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transit ...
- 使用cglib实现数据库框架的级联查询
写在前面的 这一章是之前写的<手把手教你写一个Java的orm框架> 的追加内容.因为之前写的数据库框架不支持级联查询这个操作,对于有关联关系的表用起来还是比较麻烦,于是就准备把这个功能给 ...
- RocketMQ 消息发送
消息发送基本流程: 1.消息验证 验证主题(topic),消息体不能为空和大小不能超过4M. 2.路由查找 a.查看缓存,是否有topic的路由信息. b.如果没有则到NameServer中获取路由信 ...
- html前端学习
html : 1.相当于没有穿衣服的人,一套浏览器认识的规则, 2.开发者: 学习html规则 开发后台程序: -写html文件(充当模板) -数据库获取数据,然后替换到html文件的指定位置(web ...
- django-csrf攻击
一.原理 csrf(Cross Site Request Forgery, 跨站域请求伪造:CSRF 攻击允许恶意用户在另一个用户不知情或者未同意的情况下,以他的身份执 行操作. CSRF 攻击是黑客 ...
- js-ES6学习笔记-变量的解构赋值
1.ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring). 2.ES6允许写成:let [a,b,c] = [1,2,3];上面代码表示,可以从数 ...
- 对HTML的理解及常用标签使用介绍--来自我的百度前端技术学院的笔记
HTML是什么,HTML5是什么? ——HTML:超文本标记语言,一种用于创建网页的标准标记语言: ——HTML5:目前最新的HTML标准,包含新的元素.属性.行为,基于它们的功能特征将他们分成不同的 ...
- 前后端分离(手) -- mock.js
前言: 本篇博文昨天七夕写的,一天下来被虐得体无完肤,苦逼的单身狗只能学习,对!我爱学习,关掉朋友圈,并写了一篇博文发泄发泄.这次写mock.js的使用,能使前后端分离,分离,分离,重要的是说三遍. ...
- 你用过这种奇葩的C#注释吗
博客园一位微软MVP的文章 http://www.cnblogs.com/asxinyu/p/4383402.html#autoid-0-0-0 摘录: 我这里说的奇葩,并不是脱离三种方式,而是其注释 ...
- 我正在参加 CSDN 2018 年博客之星评选,希望大家能支持我
我正在参加 CSDN 2018 年博客之星评选,希望大家能支持我 我是[No. 001]号,感谢大家宝贵的一票 ^_^/ 投票地址:https://bss.csdn.net/m/topic/blog_ ...