HBCPC2024 河北省大学生程序设计竞赛

The 8th Hebei Collegiate Programming Contest
补题连接:https://codeforces.com/gym/105184


A. Update

#include <bits/stdc++.h>
using namespace std;
int main()
{
    string s;
    cin >> s;
    map<char,bool> hash;
    for(auto si : s)
    	if(si != 'i') hash[si] = true;
    cout << hash.size();
    return 0;
}

J. Iris' Food
观察暴力会超时,因此使用数学方法分段求和

#include <bits/stdc++.h>
using namespace std;
#define int long long
#define ui unsigned long long
const int mod = 1e9 + 7;
ui q_pow(int a, int p)
{
	ui sum = 1;
	while(p > 0)
	{
		if(p & 1) (sum *= a) %= mod;
		(a *= a) %= mod;
		p >>= 1;	
	} 
	return sum %= mod;
}
int niyuan(int a)
{
	return q_pow(a,mod-2);
}
void solve()
{
	int m;
	scanf("%lld",&m);
	int arr[10], brr[11];
	for(int i = 0; i <= 10; ++ i) brr[i] = 0;
	for(int i = 0; i <= 9; ++ i)
		scanf("%lld",&arr[i]);
	
	int head = 0;
	for(int i = 1; i <= 9; ++ i)
		if(arr[i] != 0)
		{
			head = i;
			-- arr[i];
			break;
		}
	if(head == 0 || (m == 1 && arr[0] != 0))
	{
		printf("0\n");
		return;
	}
	int tmp = m - 1;
	for(int i = 0; i <= 9 && tmp > 0; ++ i)
	{
		if(arr[i] >= tmp)
		{
			brr[i] = tmp;
			tmp = 0;
			break;
		}
		else // arr[i] < tmp
		{
			brr[i] = arr[i];
			tmp -= arr[i];
		}
	}

	int d[11];
	d[10] = 1;
	for(int i = 9; i >= 0; -- i)
		d[i] = brr[i + 1] + d[i + 1];
	
	ui res = 1;
	res = head  * q_pow(10,m-1);
	res %= mod;
	for(int i = 1; i <= 9; ++ i)
	{
		if(brr[i] == 0) continue;
		int tmp = i;
		(tmp *= q_pow(10,d[i] - 1)) %= mod;
		(tmp *= (q_pow(10,brr[i]) - 1)) %= mod;
		(tmp *= niyuan(9)) %= mod;
		res += tmp; 
	}
	printf("%lld\n",(res % mod));
}
// 5
// 3 1 0 0 0 3 0 0 0 0 0
// 1 2 0 0 0 0 0 0 0 0 0
// 4 0 1 1 1 3 0 0 0 0 0
// 5 1 2 3 4 5 0 0 0 0 0
// 999 989 1 2 3 4 5 6 7 8 9
signed main()
{
	int t;
	cin >> t;
	while(t --){
		solve();
	}
	return 0;
}

K. Welcome

#include <bits/stdc++.h>
using namespace std;
int main()
{
    cout << "HBCPC2024";
    return 0;
}
posted @   Frodnx  阅读(65)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示