hdu 6033

 pragma comment(linker, "/STACK:102400000,102400000")
#include <cstdio>
#include <iostream>
#include <cstdlib>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <cctype>
#include <map>
#include <set>
#include <queue>
#include <bitset>
#include <string>
#include <complex>
#define ll __int64
#define mod 1000000007
using namespace std;
int n;
int main()
{
int t=;
while(scanf("%d",&n)!=EOF){
printf("Case #%d: %d\n",++t,(int)(n*(log()/log())));
}
return ;
}

hdu 6034

 #pragma comment(linker, "/STACK:102400000,102400000")
#include <cstdio>
#include <iostream>
#include <cstdlib>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <cctype>
#include <map>
#include <set>
#include <queue>
#include <bitset>
#include <string>
#include <complex>
#define ll long long
#define mod 1000000007
using namespace std;
int n;
char a[];
map<char,int>mp;
int num[][];
int ans[];
struct node
{
char what;
int maxn;
} N[];
bool cmp(struct node aa,struct node bb)
{
if(aa.maxn>bb.maxn)
return true;
else
{
if(aa.maxn==bb.maxn)
{
for(int j=aa.maxn-; j>=; j--)
{
if(num[aa.what-'a'][j]!=num[bb.what-'a'][j])
return num[aa.what-'a'][j]>num[bb.what-'a'][j];
}
}
}
return false;
}
int main()
{
int s=;
while(scanf("%d",&n)!=EOF)
{
mp.clear();
for(int i=; i<=; i++)
{
memset(num[i],,sizeof(num[i]));
N[i].what=i+'a';
N[i].maxn=;
ans[i]=-;
}
for(int i=; i<=n; i++)
{
scanf("%s",a);
int lena=strlen(a);
if(lena>)
mp[a[]]=;
for(int j=; j<lena; j++)
{
num[a[j]-'a'][lena--j]+=;
N[a[j]-'a'].maxn=max(N[a[j]-'a'].maxn,lena--j+);
}
}
for(int i=; i<=; i++)
{
ll be=;
for(int j=; j<N[i].maxn; j++)
{
ll ok=(be+num[i][j])%;
be=(be+num[i][j])/;
num[i][j]=ok;
}
int jishu=N[i].maxn;
while(be>)
{
num[i][jishu]=be%;
be/=;
jishu++;
}
N[i].maxn=jishu;
} sort(N,N+,cmp);
for(int i=; i>=; i--)
{
if(mp[N[i].what]==)
{
ans[i]=;
break;
}
}
int jishu=;
for(int i=; i<=; i++)
{
if(ans[i]==-)
{
ans[i]=jishu;
jishu--;
}
}
ll re=;
for(int i=; i<=; i++)
{
if(ans[i]!=)
{
ll gg=;
for(int j=; j<N[i].maxn; j++)
{
re=(re+gg*(num[N[i].what-'a'][j]*ans[i])%mod)%mod;
gg*=;
gg%=mod;
}
} }
cout<<"Case #"<<++s<<": "<<re<<endl;
}
return ;
}

hdu 6035

 #pragma comment(linker, "/STACK:102400000,102400000")
#include <cstdio>
#include <iostream>
#include <cstdlib>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <cctype>
#include <map>
#include <set>
#include <queue>
#include <bitset>
#include <string>
#include <complex>
#define ll long long
#define mod 1000000007
using namespace std;
ll n;
ll pre[];
ll used[];
ll siz[];
ll sum[];
ll col[];
ll gg[];
struct node
{
ll to;;
ll pre;
} N[];
ll nedge=;
ll ans=;
void init()
{
for(int i=; i<=n; i++){
pre[i]=;
used[i]=;
gg[i]=;
sum[i]=;
siz[i]=;
col[i]=;
}
nedge=;
}
void add(ll st,ll ed)
{
nedge++;
N[nedge].to=ed;
N[nedge].pre=pre[st];
pre[st]=nedge;
}
void dfs(ll root)
{
used[root]=;
siz[root]=;
ll be=sum[col[root]];
ll ad=;
for(int i=pre[root]; i; i=N[i].pre)
{
if(used[N[i].to]==)
{
dfs(N[i].to);
siz[root]+=siz[N[i].to];
ll sonu=sum[col[root]]-be;
ll tmp=siz[N[i].to]-sonu;
ad+=sonu;
ans=ans-tmp*(tmp-)/;
be=sum[col[root]];
} }
sum[col[root]]+=(siz[root]-ad);
}
int main()
{
//freopen("input.txt","r",stdin);
//freopen("output.txt","w",stdout);
int t=;
while(scanf("%lld",&n)!=EOF)
{
init();
ll jishu=;
for(int i=; i<=n; i++){
scanf("%lld",&col[i]);
if(gg[col[i]]==){
jishu++;
gg[col[i]]=;
}
}
ll a,b;
for(int i=; i<n; i++)
{
scanf("%lld %lld",&a,&b);
add(a,b);
add(b,a);
}
ans=jishu*(n*(n-)/);
dfs();
for(int i=;i<=n;i++){
if(sum[i]!=){
ll res=n-sum[i];
ans=ans-(res-)*res/;
}
}
printf("Case #%d: %lld\n",++t,ans);
}
return ;
}

hdu 6038

 #pragma comment(linker, "/STACK:102400000,102400000")
#include <cstdio>
#include <iostream>
#include <cstdlib>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <cctype>
#include <map>
#include <set>
#include <queue>
#include <bitset>
#include <string>
#include <complex>
#define ll long long
#define mod 1000000007
using namespace std;
int n,m;
int a[];
int b[];
vector<int> aa;
vector<int> bb;
map<int,int>mp;
int main()
{
int t=;
while(scanf("%d %d",&n,&m)!=EOF)
{
aa.clear();
bb.clear();
mp.clear();
for(int i=; i<n; i++)
scanf("%d",&a[i]);
for(int j=; j<m; j++)
scanf("%d",&b[j]);
for(int i=;i<n;i++)
{
if(mp[i]==)
{
int now=;
mp[i]=;
int s=i;
while(mp[a[s]]==){
now++;
mp[a[s]]=;
s=a[s];
}
aa.push_back(now);
}
}
mp.clear();
for(int i=;i<m;i++)
{
if(mp[i]==)
{
int now=;
mp[i]=;
int s=i;
while(mp[b[s]]==){
now++;
mp[b[s]]=;
s=b[s];
}
bb.push_back(now);
}
}
ll ans=;
for(int i=;i<aa.size();i++){
ll temp=;
for(int j=;j<bb.size();j++){ if(aa[i]%bb[j]==)
temp+=bb[j];
}
ans=(ans*temp)%mod;
}
printf("Case #%d: %lld\n",++t,ans);
}
return ;
}

hdu 6043

 #pragma comment(linker, "/STACK:102400000,102400000")
#include <cstdio>
#include <iostream>
#include <cstdlib>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <cctype>
#include <map>
#include <set>
#include <queue>
#include <bitset>
#include <string>
#include <complex>
#define ll long long
#define mod 1000000007
using namespace std;
ll n,k;
int main()
{
int t=;
while(scanf("%lld %lld",&n,&k)!=EOF){
if(k<=n)
printf("Case #%d: %lld\n",++t,k);
else
{
ll now;
ll which;
now=(k-n)/(n-);
which=(k-n)%(n-);
if(now%==)
{
if(which==)
printf("Case #%d: %lld\n",++t,n);
else
printf("Case #%d: %lld\n",++t,which);
}
else
{
if(which==)
printf("Case #%d: %lld\n",++t,n-);
else
printf("Case #%d: %lld\n",++t,which);
}
}
}
return ;
}

2017 Multi-University Training Contest - 1的更多相关文章

  1. 2017 Wuhan University Programming Contest (Online Round) Lost in WHU 矩阵快速幂 一个无向图,求从1出发到达n最多经过T条边的方法数,边可以重复经过,到达n之后不可以再离开。

    /** 题目:Lost in WHU 链接:https://oj.ejq.me/problem/26 题意:一个无向图,求从1出发到达n最多经过T条边的方法数,边可以重复经过,到达n之后不可以再离开. ...

  2. 2017 Wuhan University Programming Contest (Online Round) C. Divide by Six 分析+模拟

    /** 题目:C. Divide by Six 链接:https://oj.ejq.me/problem/24 题意:给定一个数,这个数位数达到1e5,可能存在前导0.问为了使这个数是6的倍数,且没有 ...

  3. 2017 Wuhan University Programming Contest (Online Round) B Color 树形dp求染色方法数

    /** 题目:Color 链接:https://oj.ejq.me/problem/23 题意:给定一颗树,将树上的点最多染成m种颜色,有些节点不可以染成某些颜色.相邻节点颜色不同.求染色方法数. 思 ...

  4. 2017 Wuhan University Programming Contest (Online Round) D. Events,线段树区间更新+最值查询!

    D. Events 线段树区间更新查询区间历史最小值,看似很简单的题意写了两天才写出来. 题意:n个数,Q次操作,每次操作对一个区间[l,r]的数同时加上C,然后输出这段区间的历史最小值. 思路:在线 ...

  5. 2017 Multi-University Training Contest - Team 9 1005&&HDU 6165 FFF at Valentine【强联通缩点+拓扑排序】

    FFF at Valentine Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) ...

  6. 2017 Multi-University Training Contest - Team 9 1004&&HDU 6164 Dying Light【数学+模拟】

    Dying Light Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Tot ...

  7. 2017 Multi-University Training Contest - Team 9 1003&&HDU 6163 CSGO【计算几何】

    CSGO Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Subm ...

  8. 2017 Multi-University Training Contest - Team 9 1002&&HDU 6162 Ch’s gift【树链部分+线段树】

    Ch’s gift Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total S ...

  9. 2017 Multi-University Training Contest - Team 9 1001&&HDU 6161 Big binary tree【树形dp+hash】

    Big binary tree Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)T ...

  10. 2017 Multi-University Training Contest - Team 1 1003&&HDU 6035 Colorful Tree【树形dp】

    Colorful Tree Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)T ...

随机推荐

  1. JSON.stringify处理对象时的问题

    1. JSON.stringify({entry_key: 'test', entry_detail: undefined}) 结果 为 "{"entry_key": & ...

  2. 如何理解IPD+CMMI+Scrum一体化研发管理解决方案之IPD篇

    如何快速响应市场的变化,如何推出更有竞争力的产品,如何在竞争中脱颖而出,是国内研发企业普遍面临的核心问题,为了解决这些问题,越来越多的企业开始重视创新与研发管理,加强研发过程的规范化,集成产品开发(I ...

  3. Thunder团队第七周 - Scrum会议3

    Scrum会议3 小组名称:Thunder 项目名称:i阅app Scrum Master:李传康 工作照片: 参会成员: 王航:http://www.cnblogs.com/wangh013/ 李传 ...

  4. java 中的 i=i++

    记得大学刚开始学C语言时,老师就说:自增有两种形式,分别是i++和++i,i++表示的是先赋值后加1,++i是先加1后赋值,这样理解了很多年也没出现问题,直到遇到如下代码,我才怀疑我的理解是不是错了: ...

  5. 读《it小小鸟》有感

    我一直认为大学就是一个自由的舒适的学习环境,没有人可以干扰你限制你,以至于我到了大学之后只剩下了颓废的生活.每天上课玩手机,下课玩电脑,吃饭叫外卖,从不去锻炼,周末就熬夜通宵,状态越来越差,导致我逐渐 ...

  6. Rsyslog-legacy(旧版本语法)配置说明及举例

    1. RULES-书写规则 格式:日志设备(类型).日志级别             日志处理方式 (1)日志类型分类 auth pam产生的日志 authpriv ssh,ftp等登录信息的验证信息 ...

  7. “献给爱读书的中国人”——Amazon Kindle软件测评

    “献给爱读书的中国人” ——Amazon Kindle软件测评 前不久我在网上看到了一篇印度工程师旅居上海时发表的一篇文章,题目叫做<令人忧虑:不阅读的中国人>,大致讲述的是世界上人们在飞 ...

  8. JavaWeb应用的生命周期

    JavaWeb应用的生命周期是由Servlet容器来控制. 启动阶段 (1)读取web.xml配置文件数据 (2)为JavaWeb应用创建一个ServletContext对象 (3)对所有的Filte ...

  9. SQL之case when then用法详解

    case具有两种格式.简单case函数和case搜索函数. <span style="font-size:14px;">--简单case函数 case sex when ...

  10. 3dContactPointAnnotationTool开发日志(三四)

      今天就是让背景图可以变大变小,变透明度,然后将3d的点投影到图片上,输出2d接触点信息:   可以看到输出了正确的接触点信息:   然后还把空物体的包围盒大小设置为边长为0.1的的正方体,点击选中 ...