栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

2021-10-05集训

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

2021-10-05集训

文章目录
  • 一、寻找到路(P2296)
  • 二、国王游戏(P1080)
    • 1.重载运算符 ~~(现学现用)~~
    • 2.主要数论
    • 3.华丽的主函数
  • 三、书柜的尺寸(P2160)
  • 四、海底珍珠串
    • PS:样例输入中忘了写给出n,测试点中有输入n


一、寻找到路(P2296)

题目传送门

尝试过用dp去写,1小时后心态炸了…

思路:queue&bfs

估分:60分

核心代码:

while(!q.empty()){
		int x1=q.front();q.pop();no3[x1]=1;
		int dian=x1;
		if(x1==ex){
			cout< 

实际得分:60分 (真不戳)


二、国王游戏(P1080)

题目传送门

原本只打算water40 ~ 60分的 暴力着暴力着就发现了其中规律,一个大臣的左右手乘积越大,就越要放到队伍后面,前面的大臣不管如何排都不会影响后面大臣(乘法交换律)。

PS:1.贪心得不到最优解 2.答案数值很大,需要高精 (Python党狂笑)

思路:数论 (狂推10分钟,调试两小时) 高精 (写完2分钟,调试两小时)

估分:70 (像我这种手残党,肯定还有玄学错误)

代码:

1.重载运算符 (现学现用)
struct moneyy{
	long long left,right;
	bool operator<(const moneyy x)const{return left*right 
2.主要数论 
void I_do_not_know_how_to_do(long long x){
	int useful=0;
	for(re int i=1;i<=ls;++i)
	deal[i]*=x;
	for(re int i=1;i<=ls;++i){
		useful+=deal[i];
		deal[i]=useful%10;
		useful/=10;
	}
	while(useful!=0)
	++ls,deal[ls]=useful%10,useful/=10;
}
void Maybe_it_is_useful(long long x){
	int useful=0;
	for(re int i=1;i<=10001;++i)
	ans[i]=1;
	la=ls;
	for(re int i=la;i>=1;--i){
		useful*=10;useful+=deal[i];
		if(useful>=x)
		ans[i]=useful/x,useful=useful%x;
	}
	while(ans[la]==0){if(la==1)break;--la;}
}

PS:改了半天,代码 混乱 “整齐”

3.华丽的主函数
sort(money+1,money+n+1);
	for(re int i=1;i<=n;++i){
		I_do_not_know_how_to_do(money[i-1].left);
		Maybe_it_is_useful(money[i].right);
		What_should_I_do____GaoJin();
	}
	for(re int i=lm;i>=1;--i)
	printf("%d",maxn[i]);

实际得分:20 (玄学错误,真不戳)

感想:玄学错误出现了,有问题吗,问题不大。//TMD再也不用数论了!!!!

PS:高精写了20分,直接暴力60分。。。


三、书柜的尺寸(P2160)

题目折跃门
别问,问就是MC党

可能思路:动态规划+数论

题目太难了!!也没有部分分!!人家就是个小蒟蒻。。。 很显然我没写出来。。。


四、海底珍珠串







PS:样例输入中忘了写给出n,测试点中有输入n

想法:谁爱写谁写!! 判断字母数量奇偶,动态规划求解。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/293810.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号