zoukankan      html  css  js  c++  java
  • 【BZOJ5074】[Lydsy十月月赛]小B的数字 数学

    【BZOJ5074】[Lydsy十月月赛]小B的数字

    题解:题目是问你ai*bi>=sum,bi>=0这个不等式组有没有解。因为a<=10,容易想到取ai的lcm,然后变成lcm*bi>=lcm/ai*sum,将所有不等式的左右两边相加,就变成$lcm*sumge sum {lcm over ai}$。

    但其实挺不解的,这显然满足必要性但没有证明其充分性,官方题解里也没写,莫名其妙就A了。

    P.S:好像令bi=1/ai即可。

    #include <cstdio>
    #include <cstring>
    #include <iostream>
    using namespace std;
    typedef long long ll;
    ll sum,jc;
    int n,T;
    inline int rd()
    {
    	int ret=0,f=1;	char gc=getchar();
    	while(gc<'0'||gc>'9')	{if(gc=='-')	f=-f;	gc=getchar();}
    	while(gc>='0'&&gc<='9')	ret=ret*10+gc-'0',gc=getchar();
    	return ret*f;
    }
    void work()
    {
    	int i;
    	n=rd(),sum=0;
    	for(jc=i=1;i<=10;i++)	jc*=i;
    	for(i=1;i<=n;i++)	sum+=jc/rd();
    	if(sum>jc)	printf("NO
    ");
    	else	printf("YES
    ");
    }
    int main()
    {
    	T=rd();
    	while(T--)	work();
    	return 0;
    }
  • 相关阅读:
    LintCode-Search for a Range
    LintCode-Serialization and Deserialization Of Binary Tree
    LeetCode-Reverse Words in a String
    LeetCode-Reorder List
    LeetCode-Word Break
    LeetCode-Word Ladder
    LeetCode-Valid Palindrome
    cf div2 237 D
    POJ 1759
    cf div2 238 D
  • 原文地址:https://www.cnblogs.com/CQzhangyu/p/7750111.html
Copyright © 2011-2022 走看看