T1

规律题

考虑先全部选中再去重即可

#include <cstdio>
#include <algorithm>
#include <cstring>
#include <cmath>
using namespace std;
int barrel[]={};
int main(){
int T;
scanf("%d",&T);
for(int tt=;tt<=T;tt++){
int cnta=,cntb=,cnt=,ans=;
int a,b;
scanf("%d %d",&a,&b);
for(int i=;i<=sqrt(a);i++){
if(a%i==){
if(i!=a/i){
barrel[i]=tt;
barrel[a/i]=tt;
cnta+=;
}
else{
barrel[i]=tt;
cnta+=;
}
}
}
// printf("%d\n",cnta);
for(int i=;i<=sqrt(b);i++){
if(b%i==){
if(i!=b/i){
cntb+=;
}
else{
cntb+=;
}
if(i!=b/i){
if(barrel[i]==tt){
cnt++;}
if(barrel[b/i]==tt){
cnt++;}}
else{
if(barrel[i]==tt){
cnt++;}
}
}
}
// printf("%d\n",cnt);
ans+=cnta*cntb-(cnt)*(cnt-)/;
printf("%d\n",ans);
}
return ;
}

T2

科技题

考试的时候完全不知道有传递闭包的黑科技

可以解决比如\( a \) 和\(  b \)是否联通

\( a\)到\( b \)有多少条长度为k的路径的问题

有Floyd和矩阵快速幂两种解法

比较有趣

然后记得开long long

#include <cstdio>
#include <algorithm>
#include <cstring>
#include <queue>
#define int long long
using namespace std;
int n,k;
struct Matrix{
static const int MAXN = ;
int alpha[MAXN][MAXN];
int n,m;
void init2(void){
for(int i=;i<MAXN;i++)
for(int j=;j<MAXN;j++)
alpha[i][j]=;
n=m=;
}
void init(int x){
for(int i=;i<=x;i++)
alpha[i][i]=;
n=m=x;
}
Matrix operator *(Matrix b){
Matrix tmp;
tmp.init2();
for(int i=;i<=n;i++)
for(int j=;j<=b.m;j++)
for(int k=;k<=m;k++)
tmp.alpha[i][j]+=alpha[i][k]*b.alpha[k][j];
tmp.n=n;
tmp.m=b.m;
return tmp;
}
};
Matrix pow(Matrix a,int p){
Matrix ans;
ans.init2();
ans.init(a.n);
while(p){
if(p&)
ans=ans*a;
a=a*a;
p>>=;
}
return ans;
}
signed main(){
scanf("%lld %lld",&n,&k);
Matrix a;
a.init2();
a.m=a.n=n;
for(int i=;i<=n;i++)
for(int j=;j<=n;j++)
scanf("%lld",&a.alpha[i][j]);
Matrix b=pow(a,k);
printf("%lld",b.alpha[][n]);
return ;
}

T3

单调栈经典应用,随手一码即可

#include <cstdio>
#include <algorithm>
#include <cstring>
#include <stack>
using namespace std;
struct Node{
int pos,x;
};
stack<Node> S;
int a[],n,b[];
int main(){
scanf("%d",&n);
for(int i=;i<=n;i++)
scanf("%d",&a[i]);
for(int i=;i<=n;i++){
while((!S.empty())&&a[i]>S.top().x){
b[S.top().pos]=i;
S.pop();
}
S.push(Node{i,a[i]});
}
while(!S.empty()){
b[S.top().pos]=;
S.pop();
}
for(int i=;i<=n;i++)
printf("%d ",b[i]);
return ;
}

T4

瞪眼打表出轨率OR玄学证明一下?

也是规律题

记得long long

#include <cstdio>
#include <algorithm>
#include <cstring>
#include <cmath>
#define int long long
using namespace std;
int n;
signed main(){
scanf("%lld",&n);
if(n==)
printf("");
else
printf("%lld",(int)sqrt(n) );
return ;
}

T5

结论题

扫一遍统计一下有多少不匹配就可以了

#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int l=,rno=,n;
bool get(void){
char c=getchar();
while(c!='('&&c!=')')
c=getchar();
if(c=='(')
return true;
else
return false;
}
int main(){
scanf("%d",&n);
for(int i=;i<=n;i++){
if(get()){
l+=;
}
else{
if(l)
l--;
else
rno++;
}
}
if(rno==)
printf("");
else
printf("%d",(rno%)?(rno/+):(rno/));
return ;
}

T6

貌似提交答案?

手动二分+Ruby求阶乘打表qwq

还打错了一个

#include <cstdio>
#include <algorithm>
#include <cstring>
#include <string>
#include <iostream>
using namespace std;
long long n;
int main(){
cin>>n;
if(n==)
printf("10\n");
if(n==)
printf("94\n");
if(n==)
printf("892\n");
if(n==)
printf("8640\n");
if(n==)
printf("84657\n");
if(n==)
printf("834966\n");
if(n==)
printf("8267019\n");
if(n==)
printf("82052137\n");
if(n==)
printf("815725636\n");
if(n==)
printf("8118965902\n");
return ;
}

题解——牛客网OI赛制测试赛2的更多相关文章

  1. 【牛客OI赛制测试赛3】 毒瘤xor

    牛客OI赛制测试赛3 毒瘤xor 传送门 题面,水表者自重 Solution 前缀和简单题(挖坑待补) 代码实现 #include<stdio.h> #define int long lo ...

  2. 牛客OI赛制测试赛2(0906)

    牛客OI赛制测试赛2(0906) A :无序组数 题目描述 给出一个二元组(A,B) 求出无序二元组(a,b) 使得(a|A,b|B)的组数 无序意思就是(a,b)和(b,a) 算一组. 输入描述: ...

  3. 牛客OI赛制测试赛2

    A题: https://www.nowcoder.com/acm/contest/185/A 链接:https://www.nowcoder.com/acm/contest/185/A来源:牛客网 题 ...

  4. 8.30 牛客OI赛制测试赛1 F题 子序列

    题目描述 给出一个长度为n的序列,你需要计算出所有长度为k的子序列中,除最大最小数之外所有数的乘积相乘的结果 输入描述: 第一行一个整数T,表示数据组数.对于每组数据,第一行两个整数N,k,含义如题所 ...

  5. C数列下标 牛客OI赛制测试赛2

    链接:https://www.nowcoder.com/acm/contest/185/C来源:牛客网 给出一个数列 A,求出一个数列B. 其中Bi   表示 数列A中 Ai 右边第一个比 Ai 大的 ...

  6. 牛客OI赛制测试赛2 D 星光晚餐

    链接:https://www.nowcoder.com/acm/contest/185/D来源:牛客网 题目描述 Johnson和Nancy要在星光下吃晚餐.这是一件很浪漫的事情. 为了增加星光晚餐那 ...

  7. 牛客OI赛制测试赛2 C 数组下标

    链接:https://www.nowcoder.com/acm/contest/185/C来源:牛客网 题目描述 给出一个数列 A,求出一个数列B. 其中Bi   表示 数列A中 Ai 右边第一个比 ...

  8. 牛客OI赛制测试赛2 A 无序组数

    链接:https://www.nowcoder.com/acm/contest/185/A来源:牛客网 题目描述 给出一个二元组(A,B) 求出无序二元组(a,b) 使得(a|A,b|B)的组数 无序 ...

  9. 题解——牛客网Wannafly挑战赛23 B-游戏 (SG函数)

    前言 比赛的时候没学过SG函数的蒟蒻以为是道结论题,但是不是QwQ 和dummyummy巨佬一起推了快三个小时的规律 最后去问了真正的巨佬__stdcall __stdcall面带微笑的告诉我们,这是 ...

随机推荐

  1. ASP.NET JSON(转http://www.360doc.com/content/14/0615/21/18155648_386887590.shtml)

    概念介绍还是先简单说说Json的一些例子吧.注意,以下概念是我自己定义的,可以参考.net里面的TYPE的模型设计如果有争议,欢迎提出来探讨!1.最简单:{"total":0} t ...

  2. url中是否加斜杠/

    通常来说,不加斜杠的形式(如”example.jsp”)请求的是相对于当前页面路径的资源 http://localhost:8080/webapp/examole:加斜杠的形式(”/example.j ...

  3. CSS实例:图片导航块

    1.认识CSS的 盒子模型. 2.CSS选择器的灵活使用. 3.实例: a.图片文字用div等元素布局形成HTML文件. b.新建相应CSS文件,并link到html文件中. c.CSS文件中定义样式 ...

  4. VM VirtualBox 全屏模式 && 自动缩放模式 相互切换

    [1]自动缩放模式 热键Host + C 偶然一次机会,把虚拟机切换为了自动缩放模式,如下图: 想要再切换为全屏模式,发现不知如何操作,后来折腾了一会儿,切换成功.以此备录一下. [2]切换为全屏模式 ...

  5. Qt && 常量中有换行符 && 中文

    [1]VS + QT开发环境,中文内容编译时提示错误error C2001:常量中有换行符 解决方案:VC的编译器,把代码格式改为带BOM的UTF8就好了 建议步骤: (1)用Notepad++打开c ...

  6. python单下划线与双下划线的区别

    Python 用下划线作为变量前缀和后缀指定特殊变量. _xxx 不能用'from moduleimport *'导入 __xxx__ 系统定义名字 __xxx 类中的私有变量名 核心风格:避免用下划 ...

  7. flask模板应用-加载静态文件:添加Favicon,使用CSS框架,使用宏加载静态资源

    加载静态文件 一个Web项目不仅需要HTML模板,还需要许多静态文件,比如CSS.JavaScript文件.图片和声音声.在flask程序中,默认需要将静态文件存储在与主脚本(包含程序实例的脚本)同级 ...

  8. python字典的排序,按key排序和按value排序---sorted()

    >>> d{'a': 5, 'c': 3, 'b': 4} >>> d.items()[('a', 5), ('c', 3), ('b', 4)] 字典的元素是成键 ...

  9. Building Tool(Maven/Gradle)

    构建工具的简单介绍 在代码世界中有三大构建工具,ant.Maven和Gradle.现在的状况是maven和gradle并存,gradle使用的越来越广泛.Maven使用基于XML的配置,Gradle采 ...

  10. POJ 1330 Nearest Common Ancestors(LCA Tarjan算法)

    题目链接:http://poj.org/problem?id=1330 题意:给定一个n个节点的有根树,以及树中的两个节点u,v,求u,v的最近公共祖先. 数据范围:n [2, 10000] 思路:从 ...