2024 暑假友谊赛-热身2 (7.12)zhaosang
E-E
https://vjudge.net/problem/AtCoder-diverta2019_b
给你 a, b, c ,n就是问你有多少(ia+jb+k*c)等于n的答案i,j,k任意几个都可以为零
两种思想,数据量比较小,那么可以三重循环+减枝,或者枚举两个变量算出第三个
代码如下:
第一种三重循环
#include <bits/stdc++.h>
using namespace std;
using ll =long long;
ll v[10000010];
ll A,B,C,n;
ll ans;
int main(){
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
cin>>A>>B>>C>>n;
for(int i=0;i<=n;i++){
for(int j=0;j<=n/B;j++){
for(int k=0;k<=n/C;k++){
if(A*i+B*j+C*k==n){
ans++;
}else if(A*i+B*j+C*k>=n){
break;
}
}
}
}
cout<<ans;
}
第二种
两重循环算第三个
#include <bits/stdc++.h>
using namespace std;
using ll =long long;
ll v[10000010];
ll A,B,C,n;
ll ans;
int main(){
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
cin>>A>>B>>C>>n;
for(int i=0;i*A<=n;i++){
for(int j=0;j*B+A*i<=n;j++){
int p=n-i*A-j*B;
if(p%C==0)ans++;
}
}
cout<<ans;
}
D-D
https://vjudge.net/contest/640017#problem/D、
D和E差不多,这个是输出一个满足条件的就可以
我们遍历两重循环,算出满足条件的第三个值就行
代码如下:
#include <bits/stdc++.h>
using namespace std;
using ll =long long;
ll v[10000010];
ll l,n,m;
int main() {
ll N;
cin >> N;
for (ll h = 1; h <= 3500; ++h) {
for (ll n = 1; n <= 3500; ++n) {
long long numerator = 4LL * h * n - N * (h + n);
long long denominator = N * h * n;
if (numerator > 0 && denominator % numerator == 0) {
ll w = static_cast<ll>(denominator / numerator);
if (w > 0) {
cout << h << " " << n << " " << w << std::endl;
return 0;
}
}
}
}
return 0;
}
F-F
https://vjudge.net/contest/640017#problem/F
给你一定数量的子串,问你能构成的有AB的子串的最多数量
模拟题,找到A为末尾为a,B为开头的数量为b,还需要判断既有上面两种都有的情况,
然后计算出最多数量为a,bl里面小那个,还需要特判一下a等于b等于c情况
代码如下
#include <bits/stdc++.h>
using namespace std;
using ll =long long;
ll l,n,m;
vector<string>v(100000);
vector<ll>vt(1000000);
string s3;
ll a=0,b=0,c=0;
int fun2(const std::string& str, const std::string& sub){
int num = 0;
ll len = sub.length();
if (len == 0)len=1;//应付空子串调用
for (ll i=0; (i=str.find(sub,i)) != std::string::npos; num++, i+=len);
return num;
}
int main(){
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
cin>>n;
for(int i=1;i<=n;i++){
cin>>v[i];
if(v[i][0]=='B'){
b++;
}
if(v[i][v[i].length()-1]=='A'){
a++;
}
if(v[i][v[i].length()-1]=='A'&&v[i][0]=='B'){
c++;
}
}
if(a==b&&b==c){
if(c!=0){
a=c-1;
b=c-1;
}
}
ll ans=0;
for(int i=1;i<=n;i++){
ans+= fun2(v[i],"AB");
}
cout<<ans+min(a,b);
}
G-G
https://vjudge.net/contest/640017#problem/G
这道题就是求一个数有多少个满足x/m=x%m的数m,求他们的和
被除数/除数=商+余数 , 有 n=mx+x; m =n/x-1,枚举余数,
除数大于等于余数,m>x,所以 n =m(x-1)>x*(x-1)枚举余数即可
代码如下
#include <bits/stdc++.h>
using namespace std;
using ll =long long;
ll v[10000010];
ll A,B,C,n;
ll ans;
int main(){
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
cin>>n;
for(ll x=1;x*(x+1)<n;x++){
if(n%x==0)ans+=(n/x-1);
}
cout<<ans;
}
A-A
https://vjudge.net/contest/640017#problem/A
求期望概率
思路公式最后推出来是 E(N)=E(N-1)+pn次方
所以需要快速幂,答案就是推出公式然后算出来
代码如下
#include <bits/stdc++.h>
#define int long long
const int mod = 998244353;
int qmi(int a, int b)
{
a %= mod;
int res = 1;
while (b)
{
if (b & 1) res = res * a % mod;
a = a * a % mod;
b >>= 1;
}
return res;
}
void solved ()
{
int n;
std::cin >> n;
std::vector<int> a(n + 1), dp(n + 7);
for (int i = 1; i <= n; i++)
{
std::cin >> a[i];
a[i] = qmi(a[i], mod - 2);
}
for (int i = 1; i <= n; i++)
{
dp[i] = (dp[i - 1] + 1) * 100 % mod * a[i] % mod;
}
std::cout << dp[n];
}
signed main()
{
std::ios::sync_with_stdio(false);
std::cin.tie(nullptr);
int t = 1;
// std::cin >> t;
while (t--) solved ();
return 0;
}
2024 暑假友谊赛-热身2 (7.12)zhaosang的更多相关文章
- 合肥学院ACM集训队第一届暑假友谊赛 B FYZ的求婚之旅 D 计算机科学家 F 智慧码 题解
比赛网址:https://ac.nowcoder.com/acm/contest/994#question B FYZ的求婚之旅 思路: 然后用快速幂即可. 细节见代码: #include <i ...
- 杭电OJ(HDU)-ACMSteps-Chapter Three-《FatMouse' Trade》《今年暑假不AC》《排名》《开门人和关门人》
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2Fpc2luaV92Yw==/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...
- 使用Excel制作万年历(可打印)
先来看看A4纸打印效果,其他功能后续继续完善中. 年份数据字典(农历节日) 农历节日表 年度 春节 元宵节 龙抬头 端午节 六月六 七月七 七月十五 仲秋节 除夕 2010年02月14日 2010年0 ...
- 有关java是编译型语言还是解释性语言
博客分类: 技术杂谈 JavaD语言JVMC++C# 小生现在大二, java学习的时间不到一年 但是自认学习效率还是比较高的,同时在java上用时也比较多 在周末,放假,暑假. 每天能花费12+个小 ...
- 使用Excel制作万年历(日历可A4纸打印)
先来看看A4纸打印效果,其他功能后续继续完善中. 年份数据字典(农历节日) 农历节日表 年度 春节 元宵节 龙抬头 端午节 六月六 七月七 七月十五 仲秋节 除夕 2010年02月14日 2010年0 ...
- 百万年薪python之路 -- 模块
1.自定义模块 1.1.1 模块是什么? 模块就是文件,存放一堆常用的函数和变量的程序文件(.py)文件 1.1.2 为什么要使用模块? 1.避免写重复代码,从文件级别组织程序,更方便管理 2.可以多 ...
- python 各模块
01 关于本书 02 代码约定 03 关于例子 04 如何联系我们 1 核心模块 11 介绍 111 内建函数和异常 112 操作系统接口模块 113 类型支持模块 114 正则表达式 115 语言支 ...
- Python Standard Library
Python Standard Library "We'd like to pretend that 'Fredrik' is a role, but even hundreds of vo ...
- 在mybatis中写sql语句的一些体会
本文会使用一个案例,就mybatis的一些基础语法进行讲解.案例中使用到的数据库表和对象如下: article表:这个表存放的是文章的基础信息 -- ------------------------- ...
- 暑假热身 D. 条形码设计
校ACM队准备筹划向学校批请一个专用机房.但是为了防止它变成公用机房,FL建议采用刷卡进入的办法,她设计了一种条形码,每人都对应一个.这种大小为2*n的条形码由以下三种元素构成:1*2.2*1.2*2 ...
随机推荐
- 配置Ingress支持HTTPS访问(二):使用cert-manager申请证书
目录 一.系统环境 二.前言 三.Let's Encrypt和cert-manager简介 四.部署cert-manager 4.1 安装cert-manager 4.2 创建clusterissue ...
- MyBatis两级缓存机制详解
缓存是提高软硬件系统性能的一种重要手段:硬件层面,现代先进CPU有三级缓存,而MyBatis也提供了缓存机制,通过缓存机制可以大大提高我们查询性能. 一级缓存 Mybatis对缓存提供支持,但是在 ...
- go goroutine pool设计
推荐一遍由浅入深简绍goroutine pool设计的方案.https://strikefreedom.top/high-performance-implementation-of-goroutine ...
- Base64编码解码 支持解码为 16进制
https://base64.xhlylx.com/
- 鸿蒙HarmonyOS实战-Web组件(基本使用和属性)
前言 Web是一种基于互联网的技术和资源的网络服务系统.它是指由许多互连的计算机组成的全球性计算机网络,使用户能够通过浏览器访问和交互式使用各种信息和资源,如网页.文档.图片.视频.音频等.通过Web ...
- AI实用技巧 | 5分钟将coze集成到微信群机器人
细心的小伙伴已经注意到,国内的Coze平台已经开放了API,这一发现让他们感到兴奋不已.因此,他们迫切地想要掌握这一机会,将API应用到实际中,让Coze成为他们的得力助手.这样一来,他们就可以避免每 ...
- 【Azure App Service】.NET代码实验App Service应用中获取TLS/SSL 证书 (App Service Linux/Linux Container)
在前一篇文章中,我们是把.NET 8应用读取SSL证书(X509)示例部署在App Service Windows环境中,那么如果部署在Linux环境,以及Linux Container中呢? 根据前 ...
- 浅谈ChatGPT模型中的惩罚机制
本文由ChatMoney团队出品 在探讨ChatGPT模型的文本生成能力时,除了采样算法,惩罚机制同样扮演着至关重要的角色.这些机制不仅影响生成文本的多样性和创意性,还为我们提供了调整文本风格和质量的 ...
- 支付宝支付jemter 插件,导入到高版本jmeter 中使用
官方支付宝压力测试文档中: 蚂蚁金服开放平台 - 文档中心 (alipay.com) 有个 temp.jmx 文件(http://p.tb.cn/rmsportal_10157_temp.jmx.zi ...
- [TinyRenderer] Chapter1 p3 Line
(注:本小节不是对划线算法事无巨细的证明,如果你需要更加系统的学习,请跳转至文末的参考部分) 如果你是一名曾经学习过图形学基础的学生,那么你一定对画线算法稔熟于心,中点划线算法,Bresenham算法 ...