A:Assignment Algorithm

#include <bits/stdc++.h>
using namespace std;
char s[][];
int a[][],n,m,ans=,A,B,l=,r=,ls=,rs=;
int k[]={,,,,,,,,,,,};
map<int,int>v;
void init(){
v[]=;v[]=;
v[]=;v[]=;
v[]=;v[]=;
v[]=;v[]=;
}
int pos=,vis=;
struct node{
int val,dis,id;//座位数,记录过道距离,行号
bool operator<(const node &a) const{
return a.val==val?(a.dis==dis?a.id>id:a.dis>dis):a.val<val;
}
}e[],p[];
void check(int dep){
int inf=;
for(int i=;i<=;i++)
if(inf>k[i] && s[dep][i]=='-'){
A=dep;
B=i;
inf=k[i];
}
if(B!= && s[A][v[B]]=='-'){
if(B<){
if(ls>rs) B=v[B];
}else if(B>){
if(ls<rs) B=v[B];
}
}
}
int main(){
init();
scanf("%d%d",&n,&m);
for(int i=;i<=n+;i++){
ans=;
scanf("%s",s[i]+);
for(int j=;j<=;j++){
if(s[i][j]=='-')ans++;
else if(s[i][j]=='#'){
if(j<) ls++;
else if(j>) rs++;
}
}
if(i== || i==n/+){
e[l].val=ans;
e[l].dis=;
e[l++].id=i;
pos+=ans;
}
else{
p[r].val=ans;
p[r].dis=min(abs(-i),min(abs(n/+-i),abs(n+-i)));
p[r++].id=i;
vis+=ans;
}
}
for(int i=;i<pos;i++){
sort(e,e+l);
check(e[].id);
s[A][B]=(char)('a'+i);
e[].val--;
if(B<) ls++;
else if(B>) rs++;//飞机平衡
}
for(int i=pos;i<m;i++){
sort(p,p+r);
check(p[].id);
s[A][B]=(char)('a'+i);
p[].val--;
if(B<) ls++;
else if(B>) rs++;
}
for(int i=;i<=n+;i++)
printf("%s\n",s[i]+);
return ;
}
/*
2 17
...........
---.#--.---
...........
---.---.---
...........
6 26
...........
---.---.###
#-#.---.---
---.###.---
...........
---.###.---
#--.#-#.--#
#--.--#.#-#
...........
*/

F:Faulty Factorial

#include <bits/stdc++.h>
using namespace std;
#define ll long long
ll v[],n,p,r;
ll quick_pow(ll x,ll y,ll mod){
ll ans=;
while(y){
if(y&) ans=ans*x%mod;
y>>=;
x=x*x%mod;
}
return ans%mod;
}
void init(){
v[]=;
for(ll i=;i<=p;i++){
v[i]=(p-(p/i))*v[p%i]%p;
//ll re=quick_pow(i,p-2,p);
//v[i]=re;
}
}
int main(){
scanf("%lld%lld%lld",&n,&p,&r);
init();
/*for(int i=1;i<=100;i++){
if(v[i]==0) printf("1 ");
//if(m[i]==0) printf(" 1\n");
}*/
if(n>=*p){
if(r==){
printf("%lld 1\n",p);
}
else printf("-1 -1\n");
}
else if(n>=p && r){
ll ans=;
for(int i=;i<=n;i++){
if(i==p) continue;
ans=ans*i%p;
}
int ok=;
for(ll i=;i<p;i++){
if(((ans*i)%p)==r){
printf("%lld %lld\n",p,i);
ok=;
break;
}
}
if(!ok) printf("-1 -1\n");
}
else if(n>=p && !r){
int ok=;
for(int i=;i<=n;i++){
if(i!=p){
printf("%d 1\n",i);
ok=;
break;
}
}
if(!ok) printf("-1 -1\n");
}
else if(n<p){
ll ans=;
for(ll i=;i<=n;i++)
ans=ans*i%p;
int ok=;
for(ll i=;i<=n;i++){
ll q=ans*v[i]%p;
ll re=r*v[q]%p;
if(re<i && re>){
printf("%lld %lld\n",i,re);
ok=;
break;
}
}
if(!ok) printf("-1 -1\n");
}
return ;
}

H:Hidden Hierarchy

#include <bits/stdc++.h>
#include <set>
using namespace std;
#define maxn 50006
vector<int>v[maxn];
map<int,string>im;
map<string,int>mi;
set<string>ss[maxn];
int val[maxn],n,x,cnt,ans=;
int vis[maxn];
string s;
void dfs(int u){
for(int i=;i<v[u].size();i++){
dfs(v[u][i]);
val[u]+=val[v[u][i]];
}
}
void bfs(int u){
if(vis[u]) return;
int pos=,ok=;
for(int i=;i<v[u].size();i++){
if(!vis[v[u][i]]){
pos=max(pos,val[v[u][i]]);
ok=;
}
}
if(!ok) cout<<" "<<im[u]<<" "<<val[u]<<endl;
else if( ok && pos<x) cout<<"+ "<<im[u]<<" "<<val[u]<<endl;
else if(ok && pos>=x){
cout<<"-"<<" "<<im[u]<<" "<<val[u]<<endl;
for(set<string>::iterator it=ss[u].begin();it!=ss[u].end();it++)
bfs(mi[*it]);
}
return ;
}
int main(){
scanf("%d",&n);
for(int i=;i<n;i++){
cin>>s>>x;
mi[s]=++ans;
im[ans]=s;
val[ans]=x;
vis[ans]=;
string fro=s;
for(int j=s.size()-;j>=;j--){
if(s[j]=='/'){
string subs=s.substr(,j+);
if(!mi[subs]){
mi[subs]=++ans;
im[ans]=subs;
v[ans].push_back(ans-);
ss[ans].insert(fro);
fro=subs;
}else{
v[mi[subs]].push_back(ans);
ss[mi[subs]].insert(fro);
break;
}
}
}
}
scanf("%d",&x);
dfs(mi["/"]);
bfs(mi["/"]);
return ;
}
/*
2
/a/a/a 100
/b.txt 99
200
8
/b/test/in.a 100
/b/test/in.b 1
/c/test/in.a 100
/c/test/in.b 1
/c/test/pic/in.a.svg 10
/c/test/pic/in.b.svg 10
/a/test/in.a 99
/a/test/in.b 1
101
9
/sys/kernel/notes 100
/cerc/problem/a/testdata/in 1000000
/cerc/problem/a/testdata/out 8
/cerc/problem/a/luka.cc 500
/cerc/problem/a/zuza.cc 5000
/cerc/problem/b/testdata/in 15
/cerc/problem/b/testdata/out 4
/cerc/problem/b/kale.cc 100
/cerc/documents/rules.pdf 4000
10000
*/

J:Justified Jungle

#include <bits/stdc++.h>
using namespace std;
int f[],vis[];
int re[],pos=;
int n,x,y;
vector<int>v[];
int find(int x){
return f[x]=f[x]==x?x:find(f[x]);
}
int p[],fin[];
int dfs(int u){
vis[u]=;
int ans=;
for(int i=;i<v[u].size();i++){
int to=v[u][i];
if(vis[to]) continue;
int x=find(u);
int y=find(to);
int k;
if(x!=y){
k=++pos;
f[y]=x;
}
re[k]=dfs(to);
ans+=re[k];
re[k]=min(re[k],n-re[k]);
}
return ans;
}
int main(){
scanf("%d",&n);
for(int i=;i<=n;i++)
f[i]=i;
for(int i=;i<n;i++){
scanf("%d%d",&x,&y);
v[x].push_back(y);
v[y].push_back(x);
}
dfs();
int cou=;
for(int i=;i<=n/;i++){
if(n%i) continue;
int inf=;
for(int j=;j<n;j++){
if(!(re[j]%i)) inf++;
}
if(inf>=((n/i)-)) fin[cou++]=n/i-;
}
sort(fin,fin+cou);
for(int i=;i<cou;i++)
printf("%d%c",fin[i],i==cou-?'\n':' ');
return ;
}

CREC 2017的更多相关文章

  1. CI Weekly #10 | 2017 DevOps 趋势预测

    2016 年的最后几个工作日,我们对 flow.ci Android & iOS 项目做了一些优化与修复: iOS 镜像 cocoapods 版本更新: fir iOS上传插件时间问题修复: ...

  2. 猖獗的假新闻:2017年1月1日起iOS的APP必须使用HTTPS

    一.假新闻如此猖獗 刚才一位老同事 打电话问:我们公司还是用的HTTP,马上就到2017年了,提交AppStore会被拒绝,怎么办? 公司里已经有很多人问过这个问题,回答一下: HTTP还是可以正常提 ...

  3. iOS的ATS配置 - 2017年前ATS规定的适配

    苹果规定 从2017年1月1日起,新提交的 app 不允许使用NSAllowsArbitraryLoads来绕过ATS(全称:App Transport Security)的限制. 以前为了能兼容ht ...

  4. 深入研究Visual studio 2017 RC新特性

    在[Xamarin+Prism开发详解三:Visual studio 2017 RC初体验]中分享了Visual studio 2017RC的大致情况,同时也发现大家对新的Visual Studio很 ...

  5. Xamarin+Prism开发详解三:Visual studio 2017 RC初体验

    Visual studio 2017 RC出来一段时间了,最近有时间就想安装试试,随带分享一下安装使用体验. 1,卸载visual studio 2015 虽然可以同时安装visual studio ...

  6. Microsoft Visual Studio 2017 for Mac Preview 下载+安装+案例Demo

    目录: 0. 前言 1. 在线安装器 2. 安装VS 3. HelloWorld 4. ASP.NET MVC 5. 软件下载 6. 结尾 0. 前言: 工作原因,上下班背着我的雷神,一个月瘦了10斤 ...

  7. Create an offline installation of Visual Studio 2017 RC

    Create an offline installation of Visual Studio 2017 RC ‎2016‎年‎12‎月‎7‎日                             ...

  8. .NET Core 2.0版本预计于2017年春季发布

    英文原文: NET Core 2.0 Planned for Spring 2017 微软项目经理 Immo Landwerth 公布了即将推出的 .NET Core 2.0 版本的细节,该版本预计于 ...

  9. 卡巴斯基2017激活教程_卡巴斯基2017用授权文件KEY激活的方法

    原创:天诺时空 更新时间:2016-11-09   2016年9月7日,卡巴斯基2017版全新上市,卡巴斯基依旧为大家奉上满足您所有需求的安全软件产品,为不同年龄层.不同人群给予全方位保护,同时延续卡 ...

随机推荐

  1. a rel=noopener

    看vue-element-admin的源码的时候,看到a 标签使用  rel=noopener: 然后就很奇怪这个是干什么用的:然后百度到一篇文章,涨知识了. 个人的理解是:不加 rel=noopen ...

  2. VC++6.0进行数字图像处理的步骤以及遇到的问题

    1) 2) 3) 添加CDIB类时,如果没有你要选的那个类,可以先随便选个基类继承,然后自己在代码里把基类修改成要继承的,把一些消息映射的注释掉就可以了,这样的话在建立类向导里也可以找到新建的类. / ...

  3. 复习MySQL①创建数据库及数据表

    • 创建数据库:create database 数据库名称; – 例:创建名为test的测试数据库 create database test; • 查看创建好的数据库:show create data ...

  4. hdu 4826

    hdu 4826 题意 度度熊是一只喜欢探险的熊,一次偶然落进了一个 $ m * n $ 矩阵的迷宫,该迷宫只能从矩阵左上角第一个方格开始走,只有走到右上角的第一个格子才算走出迷宫,每一次只能走一格, ...

  5. Cocos2d切换场景出现的问题-error C2653: “***”不是类或命名空间名称

    1,在开头引入头文件 2,在要引入的头文件中,去除以下代码: #ifndef __HELLOWORLD_SCENE_H__ #define __HELLOWORLD_SCENE_H__ #endif ...

  6. omap 移植qt4.7.0

    准备: 1.Qt源码包 qt-everywhere-opensource-src-4.7.0.tar.gz 2.交叉编译器 arm-eabi-4.4.0.tar.bz2 3.触摸屏校验工具:tslib ...

  7. Python Study (01) 之 特殊方法

    Python深入:特殊方法和多范式 Python是一切皆对象,意思就是python的天生就是个"纯面向对象语言"呀. 但是!!! Python还是一个多范式语言(multi-par ...

  8. 面试宝典之基本的C#面试问答

    下文是100个基本的C#面试问答清单.这些面试问题简单.直接了当,涵盖了C#最基本的概念,大部分和面向对象的概念相关.所以如果你在准备C#面试,我建议你必须掌握这100个基本的C#面试问答来复习你的C ...

  9. Flash的选择

    算起来自己接触Flash接近4年了. 最開始的2.0,做button,做动画,做导航. 后来用3.0做动画,做相冊.做毕业设计,做课件. 然后到公司做2.0的动画,模板开发,效果设计. 似乎又回到了原 ...

  10. VS2010编译器工具cl对c++11标准支持情况測试

    本文探讨了VS2010编译工具cl对C++11标准的支持情况.提供了利用C++11新特性的两段代码来进行測试,并同g++ 4.9.3编译器的编译情况相对照.总的说来:VS2010的编译器工具cl部分支 ...