关于军训的模拟赛-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 ...
随机推荐
- Commonjs、AMD、CMD
CommonJS 该规范的核心思想是允许模块通过 require 方法来同步加载所要依赖的其他模块,然后通过 exports 或 module.exports 来导出需要暴露的接口 require(& ...
- Visual Studio 2017 插件扩展
“工具善其事,必先利其器!装好这些插件让vs更上一层楼” ReSharper : 首先的是Resharper,这个基本是目前是我开发过程中必备的工具集,唯一的缺点就是吃内存,所以你的内存要是低于8G, ...
- $.each()和$(selector).each()
转载:http://www.jb51.net/article/65215.htm $.each()与$(selector).each()不同, 后者专用于jquery对象的遍历, 前者可用于遍历任何的 ...
- js 时间格式与时间戳的相互转换示例代码
一.时间转换时间戳 function transdate(endTime){ var date=new Date(); date.setFullYear(endTime.substring(0,4)) ...
- swagger2的使用
springboot项目里怎么使用swagger2? 1.maven依赖 <dependency> <groupId>io.springfox</groupId> ...
- 撩课-Web大前端每天5道面试题-Day27
1.浏览器缓存? 浏览器缓存分为强缓存和协商缓存.当客户端请求某个资源时,获取缓存的流程如下: 先根据这个资源的一些 http header 判断它是否命中强缓存, 如果命中,则直接从本地获取缓存资源 ...
- groovy编程注意事点
集合中一些方法工作在集合的一个副本上并且完成的时候返回这个副本,而另外一些方法直接操作这个集合对象. 和Java一样不能通过迭代移除元素. list和map遵循java规则限制,但通过附加的方法降低了 ...
- Java开发中常用的设计模式(二)---单例模式
一. 懒汉式单例 //懒汉式单例类.在第一次调用的时候实例化自己 public class Singleton { private Singleton() {} private static Sing ...
- 理解Java之IO流
流是一种抽象概念,它代表了数据的无结构化传递.用来进行输入输出操作的流就称为IO流. 一.IO流结构 1.流的分类方式 按流向分: 从文件/网络/内存等(数据源)到程序是输入流:从程序到文件/网络/内 ...
- JAVA设计模式详解(一)----------策略模式
策略模式,顾名思义就是设计一个策略算法,然后与对象拆分开来将其单独封装到一系列策略类中,并且它们之间可以相互替换.首先LZ举一个例子为大家引出这一个模式. 例子:某公司的中秋节奖励制度为每个员工发放2 ...