比赛地址

A 小Q想撸串

题目分析

普及T1水题惯例。字符串中找子串

Code

#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdio>
#include<cmath>
using namespace std;
inline int read() {
int x=0,f=1; char ch=getchar();
while(ch<'0' || ch>'9') { if(ch=='-') f=-1; ch=getchar(); }
while(ch>='0'&&ch<='9') { x = (x<<3)+(x<<1)+(ch^48); ch=getchar(); }
return x * f;
}
const int N = 1e5 + 7;
int n;
char s[N][107],st[10]="NowCoder";
int main()
{
n = read();
for(int i=1;i<=n;++i)
cin>>s[i];
int p,Len;
for(int i=1;i<=n;++i) {
p = 0 ,Len = strlen(s[i]);
for(int j=0;j<Len;++j) {
if(s[i][j] == st[p]) ++p;
}
if(p == 8) puts("QAK");
else puts("QIE");
}
return 0;
}

B 小L的序列

题目分析

普及T2简单惯例。考察位运算知识,不会赶紧去学吧。

一般这个数据范围记得开long long,记得取绝对值(我就差点忘了)

Code

#include<algorithm>
#include<iostream>
#include<cstdio>
#include<cmath>
#define int long long
using namespace std;
inline int read() {
int x=0,f=1; char ch=getchar();
while(ch<'0' || ch>'9') { if(ch=='-') f=-1; ch=getchar(); }
while(ch>='0'&&ch<='9') { x = (x<<3)+(x<<1)+(ch^48); ch=getchar(); }
return x * f;
}
const int N = 1e5 + 7;
int n,a,ans;
signed main()
{
n = read();
int s1,s0;
for(int i=1;i<=n;++i) {
a = read(); a = abs(a);
s1 = s0 = 0;
while(a!=0) {
if(a&1) s1++;
else s0++;
a >>= 1;
}
ans += (s1>s0 ? 1 : -1);
}
printf("%lld\n",ans);
return 0;
}

C 小w的禁忌与小G的长诗

题目分析

这是这场比赛最难想的题了吧,反正我一开始是没有想到DP(一不小心告诉你我看了题解)。

定义状态

\(f[i][0]\) 是\(i\)长度的 无‘\(C\)’‘\(O\)’‘\(W\)’ 方案总数

\(f[i][1]\) 是\(i\)长度的 有‘\(C\)’无‘ \(O\)’‘\(W\)’方案总数

\(f[i][2]\) 是\(i\)长度的 有‘\(O\)’无‘ \(C\)’‘\(W\)’方案总数

\(f[i][3]\) 是\(i\)长度的 有‘\(W\)’无‘ \(C\)’‘\(O\)’方案总数

\(f[i][4]\) 是\(i\)长度的 有‘\(C\)’‘ \(O\)’ 无‘\(W\)’方案总数

\(f[i][5]\) 是\(i\)长度的 有‘\(C\)’‘ \(W\)’无‘\(O\)’方案总数

\(f[i][6]\) 是\(i\)长度的 有‘\(W\)’‘ \(O\)’无‘\(C\)’方案总数

有了状态方程是不是巨好推了qwq

\(f[i][0] = f[i-1][0] * 23\) (无C,O,W,每个位23种选择)

\(f[i][1]=(f[i-1][0]+f[i-1][1]*24)\) (f[ i-1 ][ 0 ] 表示在原i-1的基础上第i个点放‘C’,f[ i-1 ][ 1 ] 表示已经有‘C’了,不能选‘O’,‘W’,有24种选择)

\(f[i][2]=(f[i-1][0]+f[i-1][2]*24)\) (同上)  

  

\(f[i][3]=(f[i-1][0]+f[i-1][3]*24)\) (同上)

  

\(f[i][4]=(f[i-1][1]+f[i-1][2]+f[i-1][4]*25)\) 原理和上面差不多; 

  

\(f[i][5]=(f[i-1][1]+f[i-1][3]+f[i-1][5]*25)\)

  

\(f[i][6]=(f[i-1][2]+f[i-1][3]+f[i-1][6]*25)\)

Code (我缩写了方程,大家可千万别学我)

#include<algorithm>
#include<iostream>
#include<cstdio>
#include<cmath>
#define int long long
using namespace std;
inline int read() {
int x=0,f=1; char ch=getchar();
while(ch<'0' || ch>'9') { if(ch=='-') f=-1; ch=getchar(); }
while(ch>='0'&&ch<='9') { x = (x<<3)+(x<<1)+(ch^48); ch=getchar(); }
return x * f;
}
const int N = 1e5 + 7;
const int MOD = 1e9 + 7;
int n,f[N][3],ans;
signed main()
{
n = read();
f[1][0] = 23;
f[1][1] = 1;
for(int i=2;i<=n;++i) {
f[i][0] = (f[i-1][0]*23) % MOD;
f[i][1] = (f[i-1][0]+f[i-1][1]*24) % MOD;
f[i][2] = (f[i-1][1]*2+f[i-1][2]*25) % MOD;
}
ans = (f[n][0] + 3*f[n][1]%MOD + 3*f[n][2]%MOD) % MOD;
printf("%lld",ans);
return 0;
}

D 小K的雕塑

题目分析

又是一道DP,可见DP重要性。

首先去重,留去重数组长n,取k = min(n,k)

定义状态:设\(f[i][j]\) 为前i个数选了j个 的总f(t)值

\(f[i][j] = f[i-1][j] + f[i-1][j-1]\) (选i点 和 不选i点)

空间太大,承受不住,利用方程特性,滚动数组,留下一维。

Code

#include<algorithm>
#include<iostream>
#include<cstdio>
#include<cmath>
#define int long long
using namespace std;
inline int read() {
int x=0,f=1; char ch=getchar();
while(ch<'0' || ch>'9') { if(ch=='-') f=-1; ch=getchar(); }
while(ch>='0'&&ch<='9') { x = (x<<3)+(x<<1)+(ch^48); ch=getchar(); }
return x * f;
}
const int N = 1e6 + 7;
const int MOD = 1e9 + 7;
int n,k,ans;
int a[N],f[N];
signed main()
{
n = read() ,k = read();
for(int i=1;i<=n;++i)
a[i] = read();
sort(a+1,a+1+n);
n = unique(a+1,a+1+n) -a-1;
k = min(n,k);
f[0] = 1;
for(int i=1;i<=n;++i) {
for(int j=k;j>=1;--j) {
f[j] = (f[j]+f[j-1]*a[i]) % MOD;
}
}
for(int i=0;i<=k;++i)
ans = (ans+f[i]) % MOD;
printf("%lld\n",ans);
return 0;
}

感谢支持!

补比赛——牛客OI周赛9-普及组的更多相关文章

  1. 牛客OI周赛9-提高组题目记录

    牛客OI周赛9-提高组题目记录 昨天晚上做了这一套比赛,觉得题目质量挺高,而且有一些非常有趣而且非常清奇的脑回路在里边,于是记录在此. T1: 扫雷 题目链接 设 \(f_i\) 表示扫到第 \(i\ ...

  2. 牛客OI周赛8-提高组A-用水填坑

    牛客OI周赛8-提高组A-用水填坑 题目 链接: https://ac.nowcoder.com/acm/contest/403/A 来源:牛客网 时间限制:C/C++ 2秒,其他语言4秒 空间限制: ...

  3. 牛客OI周赛7-提高组 A 小睿睿的等式

    链接:https://ac.nowcoder.com/acm/contest/371/A来源:牛客网 小睿睿在游戏开始时有n根火柴棒,他想知道能摆成形如“A+B=n”的等式且使用的火柴棒数也恰好等于n ...

  4. 牛客OI周赛7-提高组 B小睿睿的询问(ST打表)

    链接:https://ac.nowcoder.com/acm/contest/371/B来源:牛客网 小睿睿的n个妹纸排成一排,每个妹纸有一个颜值val[i].有m个询问,对于每一个询问,小睿睿想知道 ...

  5. 牛客OI周赛7-普及组 解题报告

    出题人好评. 评测机差评. A 救救喵咪 二位偏序.如果数据范围大的话直接树状数组,不过才1000就\(O(n^2)\)暴力就ok了. #include <bits/stdc++.h> s ...

  6. 牛客OI周赛2-提高组

    A.游戏 链接:https://www.nowcoder.com/acm/contest/210/A来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 131072K,其他语 ...

  7. 牛客OI周赛10-普及组-A眼花缭乱的街市-(加速+二分)

    https://ac.nowcoder.com/acm/contest/901/A 很简单的一道题,全场只有20+AC,卡时间.新学了cin加速语法和数组二分查找的函数调用. 知道有个读写挂,可以加速 ...

  8. 牛客OI周赛11-普及组 B Game with numbers (数学,预处理真因子)

    链接:https://ac.nowcoder.com/acm/contest/942/B 来源:牛客网 Game with numbers 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C+ ...

  9. 牛客OI周赛13-提高组 比赛总结

    比赛情况 1h才写出T1 100pts + T2 50pts(都是简单dp可还行).然后就去颓废了.颓废完来康康T3的暴力,wow,T3咋这么难呢!?期望概率好像不太会了,退了吧qwq. 所以最后 1 ...

随机推荐

  1. UVALive 3958 Weird Numbers (负进制数)

    Weird Numbers 题目链接: http://acm.hust.edu.cn/vjudge/contest/129733#problem/F Description Binary number ...

  2. 前端学习记录 week 1

    前端学习记录 week 1 基础知识 CSS盒模型 所有HTML元素可以看作盒子,在CSS中,"box model"这一术语是用来设计和布局时使用.CSS盒模型本质上是一个盒子,封 ...

  3. jetty 启动时出现的问题

    启动时出现: 1.  NoClassDefFoundError: javax/xml/registry/infomodel/User 是需要导入jaxr-api包, <dependency> ...

  4. Python编程:从入门到实践—函数

    从函数中修改列表 一家为用户提交的设计制作3D打印模型的公司,需要打印的设计存储在一个列表中,打印后移到另一个列表中. #!/usr/bin/env python # -*- coding:utf-8 ...

  5. jQuery Ajax方法调用 Asp.Net WebService、WebMethod 的详细实例代码

    将以下html存为ws.aspx <%@ Page Language="C#" AutoEventWireup="true" %> <scri ...

  6. 修改属性item1(1变化)

    给imgList1,7,12,16添加数据 数据层data:{imgList1:[],imgList7:[],imgList12:[],imgList16:[],} 处理层let _this=this ...

  7. 16 (H5*) JS第6天 日期、字符串、数组

    目录 1:date 2:格式化日期 3:字符串 4:字符串的方法 5:字符串的案例 6:数组的方法 7:包装类型 复习 正文 1:日期:date <script> //创建实例对象 // ...

  8. [Python3] 019 函数:确认过参数,返回对的值

    目录 0. 函数简介 1. 初识函数 2. 函数的参数与返回值 少废话,上例子 3. 查找函数的帮助文档 4. 函数的参数 (1) 参数分类 (2) 结构介绍 1) 普通参数 2) 默认参数 3) 关 ...

  9. squid代理服务问答

    1. 简述一下squid的用途?squid可以做代理和缓存服务器,而做代理时,可以分为正向代理和反向代理.正向代理用在企业办公环境中,企业员工上网通过代理来上网,代理的缓存功能可以为企业节省宝贵的带宽 ...

  10. MySQL-第十三篇使用ResultSetMetaData分析结果集

    1.Result里面包含了一个getMetaData()方法,该方法返回该ResultSet对应的ResultSetMetaData对象. 2.ResultSetMetaData包含的方法: 1> ...