终于我也参加了一场有R1 && R2的比赛呢。

  点击此处查看R1

  因为种种原因,老师认为上次的考试没有体现我们的真实水平,于是举办了毒瘤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的更多相关文章

  1. 【HHHOJ】NOIP模拟赛 玖 解题报告

    点此进入比赛 得分: \(100+20+100=220\)(还不错) 排名: \(Rank\ 16\) \(Rating\):\(+20\) \(T1\):[HHHOJ263]「NOIP模拟赛 玖」三 ...

  2. 5.4QBXT 模拟赛 (Rank1 机械键盘 蛤蛤)

    NOIP2016提高组模拟赛 ——By wangyurzee7 中文题目名称 纸牌 杯具 辣鸡 英文题目与子目录名 cards cups spicychicken 可执行文件名 cards cups ...

  3. NOIP模拟赛20161022

    NOIP模拟赛2016-10-22 题目名 东风谷早苗 西行寺幽幽子 琪露诺 上白泽慧音 源文件 robot.cpp/c/pas spring.cpp/c/pas iceroad.cpp/c/pas ...

  4. NOI模拟赛 Day1

    [考完试不想说话系列] 他们都会做呢QAQ 我毛线也不会呢QAQ 悲伤ING 考试问题: 1.感觉不是很清醒,有点困╯﹏╰ 2.为啥总不按照计划来!!! 3.脑洞在哪里 4.把模拟赛当作真正的比赛,紧 ...

  5. NOIP第7场模拟赛题解

    NOIP模拟赛第7场题解: 题解见:http://www.cqoi.net:2012/JudgeOnline/problemset.php?page=13 题号为2221-2224. 1.car 边界 ...

  6. contesthunter暑假NOIP模拟赛第一场题解

    contesthunter暑假NOIP模拟赛#1题解: 第一题:杯具大派送 水题.枚举A,B的公约数即可. #include <algorithm> #include <cmath& ...

  7. NOIP模拟赛 by hzwer

    2015年10月04日NOIP模拟赛 by hzwer    (这是小奇=> 小奇挖矿2(mining) [题目背景] 小奇飞船的钻头开启了无限耐久+精准采集模式!这次它要将原矿运到泛光之源的矿 ...

  8. 小奇模拟赛9.13 by hzwer

    2015年9月13日NOIP模拟赛 by hzwer    (这是小奇=> 小奇挖矿(explo) [题目背景] 小奇要开采一些矿物,它驾驶着一台带有钻头(初始能力值w)的飞船,按既定路线依次飞 ...

  9. PKUSC 模拟赛 day1 下午总结

    下午到了机房之后又困又饿,还要被强行摁着看英文题,简直差评 第一题是NOIP模拟赛的原题,随便模拟就好啦 本人模拟功力太渣不小心打错了个变量,居然调了40多分钟QAQ #include<cstd ...

随机推荐

  1. XML反序列化出错,XML 文档(2, 2)中有错误

    XML转换为实体类的错误处理方案 一.错误描述: XML反序列化出错,XML 文档(2, 2)中有错误 二.解决方案: 在实体类的字段要加上XmlElement属性 三.具体实现: 1.XML文档 & ...

  2. SQL SERVER中LIKE使用变量类型输出结果不同

    前言:Sql Server中LIKE里面使用不同的变量类型导致查询结果不一致的问题,其实看似有点让人不解的现象背后实质跟数据类型的实现有关. 一.我们先来创建示例演示具体操作 CREATE TABLE ...

  3. Java多线程--线程及相关的Java API

    Java多线程--线程及相关的Java API 线程与进程 进程是线程的容器,程序是指令.数据的组织形式,进程是程序的实体. 一个进程中可以容纳若干个线程,线程是轻量级的进程,是程序执行的最小单位.我 ...

  4. SpringCloud高可用和高并发

    1 高可用 什么是高可用:(High Availability)在一个长时间内服务不受影响.通俗的讲就是,一个机器挂掉的时候,有其他机器可以继续提供同样的服务. 如何实现高可用:冗余+自动故障转移.冗 ...

  5. springboot自定义banner生成器

    http://patorjk.com/software/taag/#p=display&f=Graffiti&t=Type%20Something%20

  6. RocketMQ 消息发送

    消息发送基本流程: 1.消息验证 验证主题(topic),消息体不能为空和大小不能超过4M. 2.路由查找 a.查看缓存,是否有topic的路由信息. b.如果没有则到NameServer中获取路由信 ...

  7. hadoop_批量命令脚本&同步文件脚本

    1.xcall.sh 批量命令脚本,例:xcall.sh jps ,查看hadoop101~ hadoop104的jps进程 注意:在执行命令的时候,若是提示没有这个命令,但是在本机又可以执行,记得在 ...

  8. centos7下docker发布第一个微服务应用(Eureka)

    1.在windows下打包 微服务应用通过maven进行打包,在项目的pom.xml执行mvn clean package,或者直接通过idea或者eclipse进行maven打包 之上操作将在项目的 ...

  9. ES6--JavaScript的第六个版本

    一.新的变量声明方式 let/cons 与var不同,新的变量声明方式带来了一些不一样的特性,其中最重要的两个特性就是提供了块级作用域与不再具备变量提升. 若是对变量提升不怎么了解的话可以去参考我的其 ...

  10. H5音乐播放器源码地址

    源码获取 https://pan.baidu.com/s/1pR_bhIFFQWU6TK9ZvrRWIA      安卓安装包下载地址 https://pan.baidu.com/s/1Z8HF5LY ...