• 【心得体会】11.30-12.6


    Tips

    1、对于有精度要求的题目,注意判断ESP=1e-5,以免出错

    总结

    1、基础的贪心DP和搜索题要巩固,争取细节不出错,快速出题。

    2、加强博弈论的学习。

    本周题单

    USACO

    USACO Training 2.1.4 Healthy Holsteins

    简单搜索

    训练赛补题

    Ray Tracing(CF)

    题解链接:(补)

    2020年广东工业大学第十届文远知行杯新生程序设计竞赛(补题)

    A、肥猪的钢琴床

    题目链接:https://ac.nowcoder.com/acm/contest/9692/A

    dp,

    a[i]==0
    f[i][0]=min(f[i-1][0],f[i-1][1]);
    f[i][1]=min(f[i-1][1],f[i-1][2])+1;
    f[i][2]=f[i-1][2];
    a[i]==1
    f[i][0]=min(f[i-1][0],f[i-1][1])+1;
    f[i][1]=min(f[i-1][1],f[i-1][2]);
    f[i][2]=f[i-1][2]+1;
    

    F、合并石子

    题目链接:https://ac.nowcoder.com/acm/contest/9692/F

    一共有 n堆石子,故合并时产生 (n-1)!种情况;
    第 i次合并时共有n+1−i堆石子,故选取两堆的期望和为 2n/(n+1−i)
    故消耗体力总和为 (n-1)!*(2n/2+2n/3+...+2n/n)

    #include <bits/stdc++.h>
    using namespace std;
    typedef long long ll;
    #define M 1000000007
    
    ll ksm(ll a,ll p){
        ll res=1;
        while(p){if(p&1){res=res*a%M;}a=a*a%M;p>>=1;}return res;
    }
    
    int i;
    ll n,res,tmp;
    
    int main(){
        scanf("%d",&n);
        for(i=2;i<=n;i++){
            res+=ksm(i,M-2)*n%M;
        }
        for(i=1;i<=n-1;i++){
            res=res*i%M;
        }
        printf("%lld",res*2%M);
    }
    

    C、母牛的俄罗斯轮盘赌

    题目链接:https://ac.nowcoder.com/acm/contest/9692/C

    思路:类似巴士博弈的思路,我们可以想到(想不到)第k枪和第k+5枪的结果是一样的,故只要计算出前五枪的结果就好。

    #include <bits/stdc++.h>
    #define ll long long
    #define ull unsigned long long
    using namespace std;
    inline int read(){
    	int f=0,num;
    	char ch;
    	while(ch=getchar(),!isdigit(ch))if(ch=='-')f=1;num=ch-'0';
    	while(ch=getchar(), isdigit(ch))num=num*10+ch-'0';
    	return f?-num:num;
    }
    int t;
    ll n; 
    int main(){
    	cin>>t;
    	while(t--){
    		cin>>n;
    		if(n==1||n==3||n==4)cout<<"Pig"<<endl; 
    		else if(n==2)cout<<"Cow"<<endl;
    		else if((n-1)%5==0||(n-3)%5==0||(n-4)%5==0) cout<<"Pig"<<endl; 
    		else if((n-2)%5)cout<<"Cow"<<endl;
    		else if(n%5==0) cout<<"Pig"<<endl; 
    		else cout<<"Cow"<<endl;	
    	}
    	return 0;
    }
    
    
  • 相关阅读:
    MySQL数据库优化的八种方式(经典必看)
    HTTP状态码详解
    一周学会HTML----Day03常用标签(下)
    一周学会HTML----Day02常用标签(上)
    SEO优化---10分钟学会建立高转化率的网站关键词库
    C# 命名的基本约定【转】
    arraylist是接口list的实现类
    API
    new与malloc区别(转)
    获取系统时间
  • 原文地址:https://www.cnblogs.com/Shayndel/p/14104059.html
Copyright © 2020-2023  润新知