23333333333333333

由于情人节要回家,所以就先只放代码了。

此题是与我胖虎过不去。

【E. 出老千的 xjj】

#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
const int maxn=;
#define ll long long
int i,j,n,k,x;
ll p[maxn+],sum[maxn+],tmp,ans=,Max=;
int main()
{
scanf("%d%d",&n,&k);
for(i=;i<=n;i++){
scanf("%d",&x);
tmp+=x;
p[x]++;
}
if(tmp<=k){
printf("0\n");
return ;
}
for(i=;i<=maxn;i++) {
sum[i]=sum[i-]+p[i]*i;
p[i]+=p[i-];
}
for(i=;i<=maxn;i++){
ll yy=(k-)/i+;
ll xx=n;
tmp=;
//if(k%i==0&&yy<xx) continue;
if(k%i==) continue; //上面的WA了
for(j=;j<maxn/i;j++){
int n1=(j+)*i,n2=j*i+;
if(n2<) n2=;
xx+=(p[n1]-p[n2-]);
tmp+=(p[n1]-p[n2-])*((j+)*i)-sum[n1]+sum[n2-];
if(k%i==&&yy<xx) break;
if(tmp>ans) break;
}
if((k%i==&&xx<=yy)||k%i!=){
ans=min(ans,tmp);
}
}
cout<<ans<<endl;;
return ;
}

【A2】

#include<iostream>
#include<cstdio>
#include<cstring>
#include<ctime>
#include<cstdlib>
#include<algorithm>
#include<cmath>
#include<string>
using namespace std;
int n,k,p;
int num[]={,,,,,},cost[];
long long f[];
int main(){
scanf("%d%d%d",&n,&k,&p);
for(int i=;i<=k;i++){
long long temp=1LL*i*p;
for(int j=;j<=;j++)
if(temp>=num[j]){
cost[i]+=temp/num[j];
temp%=num[j];
}
}
memset(f,,sizeof(f));
f[]=;
for(int i=;i<=;i++)
for(int j=max(,i-k);j<i;j++)
f[i]=min(f[i],f[j]+cost[i-j]);
if(n<=){
cout<<f[n]<<endl;
return ;
}
int way=;
for(int i=;i<=k;i++)
if(1.0*i/cost[i]>1.0*way/cost[way])
way=i;
int t1=n/way,t2=n%way;
long long ans=1LL*t1*cost[way]+f[t2];
for(int i=;i<=;i++){
t1=n/way-i;
t2=n-way*t1;
ans=min(ans,1LL*t1*cost[way]+f[t2]);
}
cout<<ans<<endl;
return ;
}

【B】

#include<iostream>
#include<cstdio>
#include<cstring>
#include<ctime>
#include<cstdlib>
#include<algorithm>
#include<cmath>
#include<string>
using namespace std;
int N,sta[];
int f[];
struct edge{
int x,y;
}e[];
int have[][],cnt[];
int check(int x,int s){
bool flag=;
for(int i=;i<=cnt[x];i++)
if(s&sta[have[x][i]]){
flag=;
break;
}
if(!flag)
return -;
for(int i=;i<=cnt[x];i++)
if(s&sta[have[x][i]])
s^=sta[have[x][i]];
return s;
}
int dfs(int s){
if(f[s]!=-)
return f[s];
for(int i=;i<=N;i++){
int temp=check(i,s);
if(temp!=-)
if(!dfs(temp))
return f[s]=;
}
return f[s]=;
}
int main(){
sta[]=;
for(int i=;i<=;i++)
sta[i]=sta[i-]*;
scanf("%d",&N);
for(int i=;i<N-;i++){
scanf("%d%d",&e[i].x,&e[i].y);
have[e[i].x][++cnt[e[i].x]]=i;
have[e[i].y][++cnt[e[i].y]]=i;
}
memset(f,-,sizeof(f));
f[]=;
if(dfs(sta[N-]-))
printf("First\n");
else
printf("Second\n");
return ;
}

【F】

#include<cstdio>
#include<cstdlib>
#include<iostream>
using namespace std;
const int maxn=;
int main()
{
int T;
double a,b,c,x,y,z;
while(~scanf("%lf%lf%lf",&x,&y,&z)){
a=(2.0*y-z+x)/2.0;
b=x-a;
c=(z-a-b)/2.0;
if(a<=||b<=||c<=) printf("Wrong\n");
else printf("%.6lf\n",a);
} return ;
}

最新文章

  1. 编译系统中BNF: Backus-Naur Form
  2. iOS使用webView 加载网页,在模拟器中没有问题,而真机却白屏了。App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app&#39;s Info.plist f
  3. SpringMVC解析1-使用示例
  4. LeetCode Bulls and Cows (简单题)
  5. js_BOM_05
  6. Python 学习入门(21)—— 线程
  7. 函数四种调用模式以及其中的this指向
  8. linux下单独线程启动
  9. {408} client block at 0x005D4D10, subtype 0, 64 bytes long.a CButton object at $005D4D10, 64 bytes long
  10. [Hive_add_5] Hive 的 join 操作
  11. struts2 过滤器和拦截器的区别和使用
  12. 通过Jenkins在IIS上布署站点
  13. CompletionService简讲
  14. spark join
  15. JMeter和JMeterPlugin的下载安装
  16. JAVA常见异常解析
  17. JavaWeb学习总结(一):基本概念
  18. Mybatis异常:java.lang.NumberFormatException: For input string: &quot;S&quot;
  19. 自定义WPF ListBox的选择样式
  20. [python][django学习篇][4]django完成数据库代码翻译:迁移数据库(migration)

热门文章

  1. ※版本管理※=&gt;☆SVN工具=&gt;※解决地域麻烦※№→搭建自己的网络SVN (SourceForge 免费) [转]
  2. Tyvj3308毒药解药题解
  3. 【Spark】RDD操作具体解释4——Action算子
  4. 百科知识 华为手机P7如何更换电池
  5. sql分级汇总
  6. jquery+css实现网页颜色主题变换(只改变已设置好的几种颜色主题)
  7. mvc已添加了具有相同键的项
  8. ES7前端异步玩法:async/await理解 js原生API妙用(一)
  9. AtomicInteger在实际项目中的应用
  10. 转:DDR原理详解