zoukankan      html  css  js  c++  java
  • 2019.8.2总结

    年終 總結

    今天的比賽難度……一言難盡啊。比賽時唯一有區分度的是第二題。也就是這一題,我沒切掉。
    總而言之,我
    AK了

    T1

    我很想問一句出題人你認真的?爲什麽數據是n<=10?
    鑒於這麽水的範圍,直接o(2^n)暴力

    T2

    比賽時沒有肝出來,直接輸出0,竟然能得10分?正解是一個DP。
    (f_{i,j})表示第i到第j個區間裏Alice比Bob多的奇數個數
    我們可以將環延長一倍。然後,我們可以發現,(f_{i,j})可以由它左邊或者右邊轉移
    所以
    (f_{i,j}=max(a_{i}-f_{i+1,j},a_{j}-f_{i,j-1}))
    最後是統計答案,這個有點惡心
    (f_{i+1,i+n-1}<a_{i})時,ans就能加1.由於我們發現,從一個點展開后會是一條鏈,鏈的左邊和右邊分別就是這個點的兩端(廢話)

    T3

    暴力出奇跡。直接按要求去做,切了。今天第二道暴力題

    T4

    我第一眼望去第四題,沒思路,就去肝前三題了。做完T1,T3,T2沒思路,就去打T4。
    T1,T3都是暴力了,T4再怎麽説也不會這麽水吧
    果然,經過艱苦奮鬥,最終做了出來。
    我心想,我按照左邊界排完序后,需要判斷的不就只有右邊界了嗎?果斷開幹
    最長下降子序列
    總而言之,今天比賽難度真心一般

    無良放碼區(請勿複製)

    T1

    int main()
    {
    	scanf("%d",&n);
    	p=2;
    	for (i=2;i<=n;i++) p<<=1;
    	p--;
    	for (i=1;i<=n;i++)
    		scanf("%d%d",&a[i],&b[i]);
    	ans=2147483647;
    	for (i=1;i<=p;i++)
    	{
    		x=i;
    		sw=1; bi=0;j=0;
    		while (x)
    		{
    			z=x%2;
    			j++;
    			if (z)
    			{
    				sw*=a[j];
    				bi+=b[j];
    			}
    			x/=2;
    		}
    		ans=min(ans,abs(sw-bi));
    	}
    	printf("%d",ans);
    }
    

    T2

    int main()
    {
    	scanf("%d",&n);
    	for (i=1;i<=n;i++)
    	{
    		scanf("%d",&a[i]);
    		a[i]%=2;
    	}
    	for (i=1;i<=n;i++)
    		a[i+n]=a[i];
    	for (i=1;i<=2*n;i++)
    		f[i][i]=a[i];
    	for (i=2;i<=n-1;i++)
    	{
    		for (j=1;j<=n*2-i+1;j++)
    		{
    			l=j; r=i+j-1;
    			f[l][r]=max(a[l]-f[l+1][r],a[r]-f[l][r-1]);
    		}
    	}
    	for (i=1;i<=n;i++)
    		if (f[i+1][i+n-1]<a[i]) ans++;
    	printf("%d",ans);
    }
    

    T3

    int main()
    {
    	scanf("%d",&n);
    	for (i=1;i<=n;i++)
    	{
    		scanf("%d",&a[i]);
    		x[a[i]]++;
    	}
    	for (i=1;i<=n;i++)
    	{
    		scanf("%d",&b[i]);
    		y[b[i]]++;
    	}
    	for (i=1;i<=n;i++)
    	{
    		scanf("%d",&c[i]);
    		z[c[i]]++;
    	}
    	while (!bz)
    	{
    		bz=1;
    		for (i=1;i<=n;i++)
    		{
    			if (x[a[i]] && (!y[a[i]] || !z[a[i]]))
    			{
    				x[a[i]]--;
    				ans++;
    				bz=0;
    				y[b[i]]--;
    				z[c[i]]--;
    			}
    		}
    	}
    	printf("%d",ans);
    }
    

    T4

    bool cmp(node n,node m){return (n.a<m.a || (n.a==m.a && n.b>m.b));}
    int main()
    {
    	scanf("%d",&n);
    	for (i=1;i<=n;i++)
    	{
    		scanf("%d%d",&x[i].a,&x[i].b);
    	}
    	sort(x+1,x+n+1,cmp);
    	for (i=1;i<=n;i++)
    	{
    		l=1;r=ans+1;
    		while (l<=r)
    		{
    			mid=(l+r)/2;
    			if (s[mid]>=x[i].b) l=mid+1;else r=mid-1;
    		}
    		if (s[l]<x[i].b) s[l]=x[i].b;
    		ans=max(ans,l);
    	}
    	printf("%d",ans);
    }
    
    如果自己说什麽都做不到而什麽都不去做的话,那就更是什麽都做不到,什麽都不会改变,什麽都不会结束.
  • 相关阅读:
    my first android test
    VVVVVVVVVV
    my first android test
    my first android test
    my first android test
    ini文件
    ZZZZ
    Standard Exception Classes in Python 1.5
    Python Module of the Week Python Module of the Week
    my first android test
  • 原文地址:https://www.cnblogs.com/Sport-river/p/11288911.html
Copyright © 2011-2022 走看看