终于我也参加了一场有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. maven国内aliyun镜像

    打开maven安装目录下conf文件夹的settings.xml文件 配置本地仓库 <localRepository>D:/maven/repository</localReposi ...

  2. MFC获取系统信息

    一.获取系统时间 CString str,str2; CTime time; time = CTime::GetCurrentTime(); str = time.Format("%Y年%m ...

  3. abp运行机制分析

    abp运行流程 由于公司现在大量向abp框架+react前后端分离架构转型,所以有必要分析abp框架是如何在iis运行的,所以才有这篇文章 public class MvcApplication : ...

  4. 环境配置问题: 关于IDEA配置tomcat

    1. 先下载并解压缩一个tomcat7 2.打开idea 3. -Xms256M -Xmx1024M -XX:PermSize=64M -XX:MaxPermSize=128M 关于热部署设置参考:  ...

  5. MySQL,Oracle建立主键自增表

    MySQL 在建表的时候声明字段即可 id int auto_increment primary key not null Oracle 第一步:建立表 drop table t_role; crea ...

  6. Java 内部类、静态内部类、匿名内部类

    java提高篇(八)----详解内部类 概念 可以将一个类的定义放在另一个类的定义内部,这就是内部类. 为什么要使用内部类?在<Think in java>中有这样一句话:使用内部类最吸引 ...

  7. 解决ios10以上版本缩放问题

    <script type="text/javascript"> /*解决ios10以上版本缩放问题 20171102*/ window.onload=function ...

  8. JS 关于this p9

    关于this这个货,常常让我感到头疼,也很难说清这货到底是什么机制,今天就详细记录一下this,了解他就跟理解闭包差不多,不理解的时候我们会感到很难受总想着避开他,当我们真正理解之后,会有种茅塞顿开的 ...

  9. lamp配置多个虚拟站点

    在同一ip下添加多个域名站点! 1.查看ip 命令:ifconfig 2.添加域名 命令:vi /etc/hosts 输入域名:如 192.168.160.127   www.test.com 192 ...

  10. 【代码笔记】iOS-collectionView实现照片删除

    一,效果图. 二,工程图. 三,代码. ViewController.h #import <UIKit/UIKit.h> @interface ViewController : UIVie ...