4986 Team Formation

http://www.tzcoder.cn/acmhome/problemdetail.do?&method=showdetail&id=4986

问有几个使得a⊕b>max(a,b)成立的a、b。

 #include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int num[];
int a[];
int get_id(int x)
{
int i;
for(i=;<<i<=x;i++);
return i;
}
void init()
{
memset(num,,sizeof(num));
}
int main()
{
int t;scanf("%d",&t);
while(t--)
{
init();
int n;scanf("%d",&n);
for(int i=;i<n;i++)
{
scanf("%d",&a[i]);
num[get_id(a[i])]++;
}
//for(int i=0;i<30;i++) printf("%d%c",num[i],i<29?' ':'\n');
ll ans=;
for(int i=;i<n;i++)
{
if(a[i]>&&a[i]%==) ans+=num[];
for(int j=;<<(j)<a[i];j++)
if((a[i]^(<<(j)))>a[i]) ans+=num[j+];
}
printf("%lld\n",ans);
}
}

1540 Build The Electric System

http://www.tzcoder.cn/acmhome/problemdetail.do?&method=showdetail&id=1540

并查集模板套一下。

 #include <bits/stdc++.h>
using namespace std;
typedef long long ll;
struct p{
int a,b,c;
friend bool operator < (p x,p y)
{
return x.c<y.c;
}
}e[];
int fin[];
int findx(int x)
{
return x==fin[x]?x:fin[x]=findx(fin[x]);
}
bool merge(int a,int b)
{
int A=findx(a),B=findx(b);
if(A!=B)
{
fin[A]=B;
return true;
}
return false;
}
void init()
{
memset(fin,,sizeof(fin));
for(int i=;i<=;i++) fin[i]=i;
}
int main()
{
int t;scanf("%d",&t);
while(t--)
{
init();
int n,E;scanf("%d%d",&n,&E);
for(int i=;i<E;i++)
{
scanf("%d%d%d",&e[i].a,&e[i].b,&e[i].c);
if(e[i].c==) fin[e[i].a]=e[i].b;
}
sort(e,e+E);
ll ans=;
for(int i=;i<E;i++)
{
if(merge(e[i].a,e[i].b)) ans+=e[i].c;
}
printf("%lld\n",ans);
}
}

1594 Optimal Milking

http://www.tzcoder.cn/acmhome/problemdetail.do?&method=showdetail&id=1594

最大流。k个挤奶机最大流量为记m。

 #include<bits/stdc++.h>
using namespace std;
#define INF 0x3f3f3f3f
#define N 255
struct p{
int to,next;
int cap;
}e[];
int k,c,m,n,s,t,cnt;
int ma[N][N];
int deep[N],cur[N];
void add(int u,int v,int f)
{
e[cnt].to=v;
e[cnt].cap=f;
e[cnt].next=cur[u];
cur[u]=cnt++; e[cnt].to=u;
e[cnt].cap=;
e[cnt].next=cur[v];
cur[v]=cnt++;
}
int bfs()
{
memset(deep,-,sizeof(deep));
deep[s]=;
queue<int> qu;
qu.push(s);
while(!qu.empty())
{
int u=qu.front();qu.pop();
//printf("%d\n",u);
for(int v=cur[u];v!=-;v=e[v].next)
if(deep[e[v].to]<&&e[v].cap>)
{
//printf("%d ",i);
qu.push(e[v].to);
deep[e[v].to]=deep[u]+;
}
}
return deep[n+]>;
}
int dfs(int u,int flow)
{
if(u==t) return flow;
int res=;
for(int v=cur[u];v!=-&&flow;v=e[v].next)
{
if(e[v].cap&&deep[e[v].to]==deep[u]+)
{
int minn=dfs(e[v].to,min(flow,e[v].cap));
e[v].cap-=minn;
e[v^].cap+=minn;
flow-=minn;
res+=minn;
}
}
if(!res) deep[u]=-;
return res;
}
int dinic()
{
int res=;
while(bfs()) res+=dfs(s,<<);
return res;
}
void init()
{
memset(cur,-,sizeof(cur));
cnt=;
}
int main()
{
scanf("%d%d%d",&k,&c,&m);
n=k+c;
for(int i=;i<=n;i++)
{
for(int j=;j<=n;j++)
{
scanf("%d",&ma[i][j]);
if(i!=j&&ma[i][j]==) ma[i][j]=INF;
}
}
for(int l=;l<=n;l++)
for(int i=;i<=n;i++)
for(int j=;j<=n;j++)
ma[i][j]=min(ma[i][j],ma[i][l]+ma[l][j]);
int left=,right=*n;
s=,t=n+;
while(right>left+)
{
int mid=(right+left)>>;
init();
for(int i=;i<=k;i++) add(s,i,m);
for(int i=k+;i<=n;i++) add(i,t,);
for(int i=;i<=k;i++)
for(int j=k+;j<=n;j++)
if(ma[i][j]&&ma[i][j]<=mid) add(i,j,ma[i][j]);
int res=dinic();
if(res==c) right=mid;
else left=mid;
}
printf("%d\n",right);
}

3794 Kagome Kagome

http://www.tzcoder.cn/acmhome/problemdetail.do?&method=showdetail&id=3794

其实题目没看懂,看着样例推了一下,就当鬼人往后数n/2即可。

 #include<bits/stdc++.h>
using namespace std;
#define INF 0x3f3f3f3f
int main()
{
int t;scanf("%d",&t);
while(t--)
{
string p[];
int n,cnt=;string name,s;
cin>>n>>name;
int mark=n/;
for(int i=;i<n;i++)
{
cin>>p[i];
if(p[i]==name) mark+=i;
}
cout<<p[mark%n]<<endl;
}
}

1547 Kinds of Fuwas

http://www.tzcoder.cn/acmhome/problemdetail.do?&method=showdetail&id=1547

狠狠狠狠很耗!用了个三维数组。f[k][i][j]表示k个福娃在第i列和第j列有存在的有几对,然后排列组合取俩。

 #include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll f[][][];
char ma[][];
vector<int> vec[];
int main()
{
int t;scanf("%d",&t);
while(t--)
{
memset(f,,sizeof(f));
int n,m;scanf("%d%d",&n,&m);
for(int i=;i<n;i++)
{
getchar();
for(int j=;j<m;j++)
{
scanf("%c",&ma[i][j]);
for(int k=;k<j;k++)
{
if(ma[i][k]==ma[i][j])
{
int num;
if(ma[i][j]=='B') num=;
else if(ma[i][j]=='J') num=;
else if(ma[i][j]=='H') num=;
else if(ma[i][j]=='Y') num=;
else if(ma[i][j]=='N') num=;
f[num][k][j]++;
}
}
}
}
ll ans=;
for(int k=;k<;k++)
for(int i=;i<m;i++)
for(int j=i+;j<m;j++)
if(f[k][i][j])
{
ans+=f[k][i][j]*(f[k][i][j]-)/;
}
printf("%lld\n",ans);
}
}

2821 Dream City

http://www.tzcoder.cn/acmhome/problemdetail.do?&method=showdetail&id=2821

 #include<bits/stdc++.h>
using namespace std;
#define INF 0x3f3f3f3f
struct p{
int a,b;
friend bool operator < (p x,p y)
{
if(x.b==y.b) return x.a<y.a;
return x.b<y.b;
}
}tree[];
int dp[][];
int main()
{
int t;scanf("%d",&t);
while(t--)
{
memset(dp,,sizeof(dp));
int n,m;scanf("%d%d",&n,&m);
for(int i=;i<=n;i++) scanf("%d",&tree[i].a);
for(int i=;i<=n;i++) scanf("%d",&tree[i].b);
sort(tree+,tree+n+);
for(int i=;i<=n;i++)
{
for(int j=;j<=m;j++)
dp[i][j]=max(dp[i-][j],dp[i-][j-]+tree[i].a+tree[i].b*(j-));
}
printf("%d\n",dp[n][m]);
}
}

1023 Taxi Cab Scheme

http://www.tzcoder.cn/acmhome/problemdetail.do?&method=showdetail&id=1023

ma[i][j]表示第i单开完了可以走第j单

 #include<bits/stdc++.h>
using namespace std;
#define INF 0x3f3f3f3f
struct p{
int start,cost;
int x1,y1,x2,y2;
}f[];
int m,ans;
int ma[][],vis[],pre[];
int get_time(int x1,int y1,int x2,int y2)
{
return abs(x1-x2)+abs(y1-y2);
}
int dfs(int u)
{
for(int v=u;v<m;v++)
{
if(ma[u][v]&&!vis[v])
{
vis[v]=;
if(dfs(pre[v])||!pre[v])
{
pre[v]=u;
return ;
}
}
}
return ;
}
void init()
{
memset(ma,,sizeof(ma));
memset(pre,,sizeof(pre));
ans=m;
}
int main()
{
int t;scanf("%d",&t);
while(t--)
{
scanf("%d",&m);
init();
for(int i=;i<m;i++)
{
int hh,mm,x1,y1,x2,y2;
scanf("%d:%d%d%d%d%d",&hh,&mm,&f[i].x1,&f[i].y1,&f[i].x2,&f[i].y2);
f[i].start=hh*+mm;
f[i].cost=get_time(f[i].x1,f[i].y1,f[i].x2,f[i].y2);
for(int j=;j<i;j++)
if((f[j].start+f[j].cost+get_time(f[i].x1,f[i].y1,f[j].x2,f[j].y2))+<=f[i].start)
ma[j][i]=;
}
for(int i=;i<m;i++)
{
memset(vis,,sizeof(vis));
ans-=dfs(i);
}
printf("%d\n",ans);
}
}

2019/12/22 TZOJ的更多相关文章

  1. js 日期2015/12/22/16/45替换2015-12-22 16:45格式

    js 日期2015/12/22/16/45替换2015-12-22 16:45格式 利用正则分组: function toChange(date) { var reg = /(\d+)\/(\d+)\ ...

  2. 12.22笔记(关于CALayer//Attributes//CALayer绘制图层//CALayer代理绘图//CALayer动画属性//CALayer自定义子图层//绘图pdf文件//绘图渐变效果)

    12.22笔记 pdf下载文件:https://www.evernote.com/shard/s227/sh/f81ba498-41aa-443b-81c1-9b569fcc34c5/f033b89a ...

  3. NOI2019退役记 upd:2019.12.1

    (我把原来写的东西全部删掉了) AFO. 我退役了,\(\mbox{yyb}\)退役了. 至少,在接下来的日子里,我得投身到文化课,度过快乐的高三生活了. 这两年的\(OI\)生涯给了我很多,让我学会 ...

  4. Beta冲刺(1/7)——2019.5.22

    所属课程 软件工程1916|W(福州大学) 作业要求 Beta冲刺(1/7)--2019.5.22 团队名称 待就业六人组 1.团队信息 团队名称:待就业六人组 团队描述:同舟共济扬帆起,乘风破浪万里 ...

  5. IDEA下将dubbo简单项目跑Demo(2019.12版)

    项目架构(聚合项目,父子模块) src没用,所以删去 选择maven项目,不用勾选模板骨架,直接main方法,因为不用到服务器 顺序是按照:添加pom依赖-接口实现类-配置文件 项目环境 IDE:In ...

  6. 第十八次CSP认证游记 | 2019.12.15

    CSP认证的考试是Haogod介绍的,取得一定成绩之后能有机会参加CCSP的分赛区和全国决赛.这次来参加认证要感谢老师的奔走为我们申请学校的报销,虽然最终因为这不是比赛所以报名费和差旅费下不来,但是老 ...

  7. 2019.3.22 Week 12 : ZigBee and T/H chamber test

    Test purposes Remove backside center ventilation holes, pls help to conduct climatic chamber test of ...

  8. GCN代码分析 2019.03.12 22:34:54字数 560阅读 5714 本文主要对GCN源码进行分析。

    GCN代码分析   1 代码结构 . ├── data // 图数据 ├── inits // 初始化的一些公用函数 ├── layers // GCN层的定义 ├── metrics // 评测指标 ...

  9. 12.22 大湾区.NET Meet 大会

    今年的 Connect(); 主题更加聚焦开发者工具生产力.开源,以及无服务器(Serverless)云服务. Visual Studio 2019 AI 智能加持的 IntelliCode.实时代码 ...

随机推荐

  1. Kotlin学习(3)类

    声明类和接口: //类 class A{ } //接口,接口中的方法可以有默认实现 interface B{ fun show(){ print("i'm B") } } //用冒 ...

  2. Eureka注册中心高可用及常用配置项

    一.前言 前面已经简单的介绍了 Eureka 注册中心的使用以及查看.下面将继续进行 Eureka 的说明以及应用. 二.Eureka 的高可用搭建 在实际生产项目中,为了保证服务的可用性,连续性,一 ...

  3. C#取模的理解:为什么当a<b,a%b=a?

    一,取模a%b 1,如果a>b,例如10%7=3,这是什么原因呢?可以根据下面的理解 10 =7*1+3,则模就是3 2,如果a<b,例如7%10 = 7,这时怎么得到的呢?根据下面来理解 ...

  4. Webpack Loader种类以及执行顺序

    我们在用webpack构建项目的时候,有两种配置打包文件的方式: import或者require :a-loader!b-loader!.././static/dog.png(打包某一个文件) 配置w ...

  5. spring boot 加载指定xml

    方法一:使用@ImportResource 方法二:在test中 @ContextConfiguration(locations = "classpath:spring-profile.xm ...

  6. 10.Linux-CentOS系统重启之后Xshell无法SSH连接(云环境)

    问题:云环境下CentOS系统断电或强制关机,再开机出现问题:Entering emergency mode. Exit the shell to continue. Generating " ...

  7. Linux 查找指定内容在哪个文件中

    在实际的工作中,忘记配置项放在哪个文件中时,可借助命令来查询. eg: 1.grep -r "查询内容"  文件目录    #这样查询出来的包括文件名+内容 grep -r -l ...

  8. arm算力

    arm 算力运算 MIPS: Million Instructions executed Per SecondDMIPS: Dhrystone Million Instructions execute ...

  9. php range()函数 语法

    php range()函数 语法 作用:创建一个包含指定范围的元素的数组.dd马达哪家好 语法:range(low,high,step) 参数: 参数 描述 low  必需.规定数组的最低值. hig ...

  10. 如何从Word带图粘贴到编辑器中

    这种方法是servlet,编写好在web.xml里配置servlet-class和servlet-mapping即可使用 后台(服务端)java服务代码:(上传至ROOT/lqxcPics文件夹下) ...