topcoder SRM 567 Div2 1000

##1000:MountainsEasy
###题意:

给你一个山的横切图。。。已知这个图中有n座山,然后问你所有山的排列种数。。。
###分析:

emmm,你们自己去看
###代码:

int fac[ArSize], inv[ArSize];
class MountainsEasy
{
  private:
	int H, W;
	void init()
	{
		int i;
		for (fac[0] = i = 1; i = 0; i--) inv[i] = (LL)(i + 1) * inv[i + 1] % mod;
	}
	int fast_pow(int bs, int ex)
	{
		int res = 1;
		for (; ex > 0; ex >>= 1, bs = (LL)bs * bs % mod)
			if (ex & 1) res = (LL)res * bs % mod;
		return res;
	}
	int C(int n, int r){return (LL)fac[n] * inv[r] % mod * inv[n - r] % mod;}

  public:
	int countPlacements(vector picture, int N);
};
int MountainsEasy::countPlacements(vector picture, int N)
{
	H = picture.size(), W = picture[0].length();
	int x, y, N0 = N;
	for (x = 0; x < W && picture[H - 1][x] == '.'; x++);
	if (x == W) return 0;
	else
	{
		int tot = 0;
		for (; x < W; x++)
		{
			for (y = 0; y < H && picture[y][x] == '.'; y++);
			if (y == H) continue;
			if (!y ||
				(!x && (x + 1 == W || picture[y - 1][x + 1] == '.')) ||
				(x + 1 == W && (!x || picture[y - 1][x - 1] == '.')) ||
				(x && x + 1 < W && picture[y - 1][x - 1] == '.' && picture[y - 1][x + 1] == '.'))
				--N;
			tot += H - y;
		}
		if (N < 0) return 0;
		init();
		int peaks = N0 - N;
		LL res = 0;
		for (int i = 0; i <= peaks; i++)
			if (i & 1) res = (res + mod - (LL)C(peaks, i) * fast_pow(tot - i, N0) % mod) % mod;
			else res = (res + (LL)C(peaks, i) * fast_pow(tot - i, N0) % mod) % mod;
		return (int)res;
	}
}
内容概要:本文深入解析了扣子COZE AI编程及其详细应用代码案例,旨在帮助读者理解新一代低门槛智能体开发范式。文章从五个维度展开:关键概念、核心技巧、典型应用场景、详细代码案例分析以及未来发展趋势。首先介绍了扣子COZE的核心概念,如Bot、Workflow、Plugin、Memory和Knowledge。接着分享了意图识别、函数调用链、动态Prompt、渐进式发布及监控可观测等核心技巧。然后列举了企业内部智能客服、电商导购助手、教育领域AI助教和金融行业合规质检等应用场景。最后,通过构建“会议纪要智能助手”的详细代码案例,展示了从需求描述、技术方案、Workflow节点拆解到调试与上线的全过程,并展望了多智能体协作、本地私有部署、Agent2Agent协议、边缘计算插件和实时RAG等未来发展方向。; 适合人群:对AI编程感兴趣的开发者,尤其是希望快速落地AI产品的技术人员。; 使用场景及目标:①学习如何使用扣子COZE构建生产级智能体;②掌握智能体实例、自动化流程、扩展能力和知识库的使用方法;③通过实际案例理解如何实现会议纪要智能助手的功能,包括触发器设置、下载节点、LLM节点Prompt设计、Code节点处理和邮件节点配置。; 阅读建议:本文不仅提供了理论知识,还包含了详细的代码案例,建议读者结合实际业务需求进行实践,逐步掌握扣子COZE的各项功能,并关注其未来的发展趋势。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值