专栏文章

BZOJ2356 不等式 题解

P10640题解参与者 2已保存评论 1

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
1 条
当前快照
1 份
快照标识符
@mindlhmh
此快照首次捕获于
2025/12/02 00:40
3 个月前
此快照最后确认于
2025/12/02 00:40
3 个月前
查看原文

BZOJ2356 不等式 题解


t=yxt=\frac{y}{x}
F(t)=i=0naitiF(t)=\sum_{i=0}^n a_it^i
f(x)=xnF(t)f(x)=x^nF(t)
G(t)=i=0mAbitiG(t)=\sum_{i=0}^m Ab_it^i
f(x)=xmG(t)f(x)=x^mG(t)
问题可化简为 xnF(t)A(xmG(t))rx^nF(t) \geq A(x^mG(t))^r
进一步化简:xnF(t)xmrG(t)rx^nF(t) \geq x^{mr}G(t)^r
xx \to \infty 时:
根据小学二年级就学过的在指数为大于一的数时指数越大值越大,可得 rnmr \leq \frac{n}{m}
x0x \to 0 时:
根据小学二年级就学过的在指数为小于一的数时指数越大值越小,可得 rnmr \geq \frac{n}{m}
rnmrnm\because r \leq \frac{n}{m} 且 r \geq \frac{n}{m}
r=nm\therefore r = \frac{n}{m}
xnF(t)xmnmG(t)r\therefore x^nF(t) \geq x^{m \cdot \frac{n}{m} }G(t)^r
xnF(t)xnG(t)r\therefore x^nF(t) \geq x^{n}G(t)^r
F(t)G(t)r\therefore F(t) \geq G(t)^r
F(t)mG(t)n\therefore F(t)^m \geq G(t)^n
tt \to \infty 时:
此时 F(t)mF(t)^mG(t)nG(t)^n 最高项起到巨大的作用,所以需要 mm degF\deg F \geq nn degG\deg G
t0t \to 0 时:
此时 F(t)F(t)G(t)rG(t)^r 最低项起到巨大的作用,所以需要 mm ordord FF \leq nn ordord G G
\therefore 综上 mm degF\deg F \geq nn degG\deg Gmm ordord FF \leq nn ordord G G

那么,来实现吧

这里的两篇题解都没有讲解代码的实现,那就由我来补这个空吧。
CPP
#include <bits/stdc++.h>
 using namespace std;
 int a[105],b[105];
 int main()
 {
 	int n,m;
 	
 	while(cin>>n && n!=EOF)
 	{
 		int deg_F=0;
		int ord_F=-1;
		int deg_G=0;
		int  ord_G=-1;
 		for(int i=0; i<=n; i++)
 		{
 			cin>>a[i];
 			if(a[i]!=0)
 			{
 				deg_F=i;
 				if(ord_F==-1)
 				{
 					ord_F=i;
				 }
			 }
		 }
		 cin>>m;
 		for(int i=0; i<=m; i++)
 		{
 			cin>>b[i];
 			if(b[i]!=0)
 			{
 				deg_G=i;
 				if(ord_G==-1)
 				{
 					ord_G=i;
				 }
			 }
		 }
		
		
		 if(deg_F*m>=deg_G*n && ord_F*m<=ord_G*n)
		 {
		 	cout<<"YES\n";
		 }
		 else
		 {
		 	cout<<"NO\n";
		 }
	 }
 	return 0;
 }
完结撒花!

评论

1 条评论,欢迎与作者交流。

正在加载评论...