蓝桥杯14小白月赛题解

在这里插入图片描述

直接输出

在这里插入图片描述
pi/ti,for遍历

#include <iostream>
using namespace std;
#define int long long 
int a,b,c ;
double t=1.00;
signed main()
{
  cin>>a;
  int an=0;
  for(int i=1;i<=a;i++)
  {
  		cin>>b>>c;
  		if(t>c*1.00/b)
	  	{
	  		t=c*1.00/b;
	  		an=i;
  		}	
  }
  cout<<an<<endl;
  return 0;
}

在这里插入图片描述
用前缀和求重新启动的次数,特盘端点。

#include <iostream>
using namespace std;
#define int long long 
const int n=1e6+11;
int a,b,c,l,r,d[n];
signed main()
{
	ios::sync_with_stdio(false);
	  cin.tie(0),cout.tie(0);
	cin>>a;
	string t;
	cin>>t>>b;
	t=" "+t;
	for(int i=1;i<=a-1;i++)
	{
		d[i]=d[i-1];
		if(t[i]=='1'&&t[i+1]=='0')
		{
			d[i]++;
		}
	}
	d[a]=d[a-1];
  d[a+1]=d[a];
	while(b--)
	{
		cin>>l>>r;
		int v=d[r]-d[l-1];
    if(r==a+1)
    {
      cout<<v<<endl;
      continue;
    }
    if(r<=a-1&&t[r]=='1'&&t[r+1]=='0')
		{
			v--;
		}
		cout<<v<<endl;
	}
}

在这里插入图片描述
背包

#include <bits/stdc++.h>
using namespace std;
#define int long long 
const int n=3e3+11;
int a,b[n],c[n],l,r,d[n],f[n];
signed main()
{
	ios::sync_with_stdio(false);
	  cin.tie(0),cout.tie(0);
	cin>>a;
	for(int i=1;i<=a;i++)
	{
		cin>>b[i];
	}
	for(int i=1;i<=a;i++)
	{
		cin>>c[i];
	}
	for(int i=1;i<=a;i++)
	{
		cin>>d[i];
	}
	for(int i=0;i<=3000;i++)
	{
		f[i]=1e18;
	}
	f[b[1]]=0;
	int v=b[1];
	for(int i=1;i<=a;i++)
	{
    for(int j=b[i]-1;j>=0;j--)
		{
			f[j]=1e18;
		}
		for(int j=3000;j>=b[i]&&j>=d[i];j--)
		{
			f[j]=min(f[j-d[i]]+c[i],f[j]);
		}
	}
	int p=1e18;
	for(int i=b[a];i<=3000;i++)
	{
		p=min(p,f[i]);
	}
	if(p>=1e18)
	{
		cout<<"-1"<<endl;
	}
	else
	{
		cout<<p<<endl;
	}
}

在这里插入图片描述
分别考虑每一位,组合数。

#include <bits/stdc++.h>
using namespace std;
#define int long long 
const int mod=998244353;
const int n=1e6+11;
int a,b[n],c[n],l,r,d[n],f[n];
int ss(int x,int y)
{
    int p=1;
    while(y)
    {
        if(y%2==1)
        {
            p=p*x%mod;
        }
        x=x*x%mod;
        y/=2;
    }
    return p;
}
signed main()
{
    ios::sync_with_stdio(false);
      cin.tie(0),cout.tie(0);
    a=9;
    int s=1;
    f[1]=1;
    for(int i=2;i<=100000;i++)
    {
        s=s*10%mod;
        f[i]=(f[i-1]+s)%mod;
    }
    
    s=0;
  int ff=0;
    for(int i=1;i<=a;i++)
    {
        cin>>b[i];
    if(b[i]!=0)
    {
      ff++;
    }
        s+=b[i];
    }
  if(ff==1)
  {
    cout<<f[s]%mod<<endl;
    return 0;
  }
    //cout<<"dfd"<<endl;
    d[s]=1;
    for(int i=s-1;i>=1;i--)
    {
        d[i]=d[i+1]*i%mod;
    }
    c[0]=1;
    for(int i=1;i<=s-1;i++)
    {
        c[i]=c[i-1]*i%mod;
    }
    //cout<<"ff"<<endl;
    int an=0;
    for(int i=1;i<=a;i++)
    {
        if(b[i]==0)
          continue;
        if(b[i]==1)
        {
            an=(an+(f[s]*i%mod))%mod;
        }
        else
        an=(an+(((d[s-1-(b[i]-1)+1]*ss(c[b[i]-1],mod-2)%mod)*f[s])%mod*i)%mod)%mod;
        //cout<<an<<" "<<f[s]<<" "<<d[s-1-(b[i]-1)+1]<<endl;
    }
    cout<<an<<endl;
}
// 2 3 1 0 0 0 0 0 0

相关推荐

  1. 10入门题解

    2024-07-17 05:04:01       31 阅读
  2. 第三场 入门

    2024-07-17 05:04:01       52 阅读
  3. 3.23】(详解)

    2024-07-17 05:04:01       39 阅读
  4. 第 9 场 入门 --

    2024-07-17 05:04:01       30 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-17 05:04:01       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-17 05:04:01       71 阅读
  3. 在Django里面运行非项目文件

    2024-07-17 05:04:01       58 阅读
  4. Python语言-面向对象

    2024-07-17 05:04:01       69 阅读

热门阅读

  1. KITTI 3D 数据可视化

    2024-07-17 05:04:01       29 阅读
  2. 口令爆破基础学习

    2024-07-17 05:04:01       25 阅读
  3. 基于单片机的直流电机控制

    2024-07-17 05:04:01       26 阅读
  4. 【前端】Web控件与数据感应之模板循环输出

    2024-07-17 05:04:01       28 阅读
  5. 十四、(正点原子)Linux MISC驱动

    2024-07-17 05:04:01       26 阅读
  6. 在Windows上配置DeepStream Docker

    2024-07-17 05:04:01       28 阅读
  7. Hadoop中HDFS、Hive 和 HBase三者之间的关系

    2024-07-17 05:04:01       20 阅读