HIR180's diary

ICPC World Finals 2022 を集大成に

2013-12-13

久しぶりにCF div1に出ました 01:26

12/13のまとめ

一夜漬け->期末->4級落ちた(◞‸◟)赤3->青11(◞‸◟)->寝る

22:50くらい

367Eが一発ACする。

//Bokann ga bokka--nn!!
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;
typedef pair<int,int> P;
typedef pair<int,P> P1;
typedef pair P2;
#define pu push
#define pb push_back
#define mp make_pair
#define eps 1e-7
#define INF 2000000000
#define mod 1000000007
int dp[2][350][350]={};
int main(){
	int n,m,x;
	cin >> n >> m >> x;
	if(n>m){ cout << 0 << endl; return 0;}
	dp[0][0][0]=1;
	int cur=0;
	for(int i=0;iint next=1-cur;
			for(int ii=0;ii<=n;ii++)for(int j=0;j<=n;j++)dp[next][ii][j]=0;
			for(int j=0;j<=n;j++)
			{
					for(int k=0;k<=n;k++)
					{
						if(!dp[cur][j][k]) continue;
						dp[next][j+1][k]+=dp[cur][j][k];
						dp[next][j+1][k]%=mod;
						dp[next][j][k+1]+=dp[cur][j][k];
						dp[next][j][k+1]%=mod;
						if(i!=x-1)
						{
							if(k){ dp[next][j+1][k-1]+=dp[cur][j][k]; dp[next][j+1][k-1]%=mod;}
							dp[next][j][k]+=dp[cur][j][k]; dp[next][j][k]%=mod;
						}
					}
			}

			cur=1-cur;
	}
	long long ret=dp[cur][n][0]*1LL;
	for(int i=1;i<=n;i++) ret=(ret*i)%mod;
	cout << ret << endl;
}

( ^o^)よっしゃ、Div1E通った!

( ˘⊖˘;)。o(今日調子いいのでは)

|Round #219 Div1| ┗(☋` )┓三

( ◠‿◠ )☛塵へと、帰れ...

▂▅▇█▓▒░(’ω’)░▒▓█▇▅▂うわああああああああ

A:

貪欲楽しい!!

解法は二分探索

5WA...

//Bokann ga bokka--nn!!
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;
typedef pair<int,int> P;
typedef pair<int,P> P1;
typedef pair P2;
#define pu push
#define pb push_back
#define mp make_pair
#define eps 1e-7
#define INF 2000000000
int val[500005];
int used[500005]={};
int ans=INF;
int main(){
	int n;
	scanf("%d",&n);
	for(int i=0;i"%d",&val[i]);
	}
	sort(val,val+n);
	int lb=0;
	int ub=n/2+1;
	while(ub-lb>1)
	{
		int mid=(lb+ub)>>1;
		if(mid-1>=n-mid) goto out;
		for(int i=0;iif(val[i]*2>val[i+n-mid])
			{
				goto out;
			}
		}
		lb=mid;
		continue;
out:;
		ub=mid;
	}
	for(int mid=min(n/2,ub+3);mid>=max(0,lb-3);mid--)
	{
		for(int i=0;iif(val[i]*2>val[i+n-mid])
			{
				goto outw;
			}
		}
		cout << n-mid << endl;
		return 0;
outw:;
	}
}

B~E 解けぬ

Challenge ミスる

systest 通る

o---- +0/-1 138pts

554位

Rating 1747->0(-1747)

(まとめ)底辺コーダ-ですがJOI予選落ちないように頑張りたいです。