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. python 模块导入import和import from区别

    模块就是一个.py文件,在名字空间下导入模块导入import和import from,那么python 模块导入import和import from区别是什么呢 1,import 导入模块 impor ...

  2. c#中decimal的去0显示

    在近来的开发中,遇到到了decimal中显示0的问题,搞了很久才搞好了,现在就简单介绍一下其中一小部分,其他的网上很上很多 public static string DecimalToString(d ...

  3. <s:iterator>标签迭代数据不显示

    <s:iterator>标签迭代数据不显示 <s:iterator value="#request.voteOptionList" var="voteO ...

  4. 省电的iPhone定位

    1.Getting the User’s Current Location 获取用户当前位置. 获取位置的方式有三种:GPS, cell tower triangulation(蜂窝站点), 和 Wi ...

  5. 2019-8-14-win10-使用-SMB-v1

    title author date CreateTime categories win10 使用 SMB v1 lindexi 2019-08-14 08:55:55 +0800 2018-2-13 ...

  6. 01scikit-learn数据集下载

    In [2]: from sklearn.datasets import load_iris iris = load_iris() iris.keys() Out[2]: dict_keys(['da ...

  7. cd 切换目录

    1. 功能说明 cd是“change directory”中每个氮气的首字母缩写功能是重当前工作目录切换到指定的工作目录:cd是内建命令. 2. 语法格式 cd  [option]  [dir] cd ...

  8. Sass-@extend

    Sass 中的 @extend 是用来扩展选择器或占位符.比如: .error { border: 1px #f00; background-color: #fdd; } .error.intrusi ...

  9. Spring---数据访问

    1.Spring Data概述 1.1.Spring Data 项目 是  Spring用来解决数据访问问题   的一站式解决方案,包含了  大量关系型数据库.非关系型数据库  的  数据访问解决方案 ...

  10. 详解JVM内存模型与JVM参数详细配置

    对于大多数应用来说,Java 堆(Java Heap)是Java 虚拟机所管理的内存中最大的一块.Java 堆是被所有线程共享的一块内存区域,在虚拟机启动时创建. JVM内存结构 由上图可以清楚的看到 ...