三向城

#include<iostream>
#include<cstdio>
using namespace std;
int n,x,y;
int main(){
freopen("city.in","r",stdin);freopen("city.out","w",stdout);
// freopen("Cola.txt","r",stdin);
scanf("%d",&n);
while(n--){
scanf("%d%d",&x,&y);
int ans=;
while(x!=y){
ans++;
if(x<y)swap(x,y);
x/=;
}
printf("%d\n",ans);
}
return ;
}

100分 两个同时往上跳

灵魂画师

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int n,c,K,mc,cnt[];
double dp[][],ans;
int main(){
freopen("paint.in","r",stdin);freopen("paint.out","w",stdout);
scanf("%d%d%d",&n,&c,&K);
for(int i=;i<=K;i++){
int l,r;
scanf("%d%d",&l,&r);
for(int j=l;j<=r;j++){
cnt[j]++;
mc=max(cnt[j],mc);
}
}
dp[][]=;
for(int i=;i<mc;i++){
for(int j=;j<c;j++){
dp[i+][j]+=dp[i][j]/;
for(int k=;k<c;k++){
dp[i+][(j*k)%c]+=dp[i][j]/(*c);
}
}
}
for(int i=;i<=n;i++){
for(int j=;j<c;j++){
ans+=dp[cnt[i]][j]*j;//概率乘以收益
}
}
printf("%.3lf\n",ans);
return ;
}

100分 概率dp

香子兰

#include<iostream>
#include<cstdio>
#define maxn 21
using namespace std;
int map[][],n,m,sum,num,head[maxn],fa[maxn],mx,mn=0x7fffffff;
bool flag=;
struct node{
int to,pre,v;
}e[maxn*maxn*];
void Insert(int from,int to,int v){
e[++num].to=to;
e[num].v=v;
e[num].pre=head[from];
head[from]=num;
}
void dfs(int now,int father){
bool leaf=;
fa[now]=father;
for(int i=head[now];i;i=e[i].pre){
int to=e[i].to;
if(to==father)continue;
dfs(to,now);
leaf=;
}
if(now==n&&leaf==){
flag=;
return;
}
}
int main(){
freopen("vanilla.in","r",stdin);freopen("vanilla.out","w",stdout);
// freopen("Cola.txt","r",stdin);
scanf("%d%d",&n,&m);
int x,y,z;
for(int i=;i<=m;i++){
scanf("%d%d%d",&x,&y,&z);
mx=max(mx,z);mn=min(mn,z);
x+=;y+=;
map[x][y]=map[y][x]=z;
Insert(x,y,z);Insert(y,x,z);
sum+=z;
if(x!=i||y!=i+)flag=;
}
if(flag){
sum*=;
sum-=map[n][n-]*+map[][]*;
cout<<sum;
return ;
}
if(m==n-){
flag=;
dfs(,);
if(flag){
cout<<sum*-map[n][fa[n]]*;
}
else cout<<sum*;
return ;
}
while(sum<)sum*=;
sum%=;
if(sum<mx)sum+=mx*;
cout<<sum;
return ;
}

30分 乱搞骗分

#include<iostream>
#include<cstdio>
#define INF 1000000007
using namespace std;
int a[][],d[][],f[][][],e[];
int cnt[],n,n1,n2,x,y,z,m,q,ans,sta;
int main(){
freopen("vanilla7.in","r",stdin);
e[]=;
for(int i=;i<=;i++)e[i]=e[i-]<<;//预处理2^i
for(int i=;i<e[];i++){
int x=i;
while(x){
cnt[i]+=x&;
x>>=;
}
}
scanf("%d%d",&n,&m);
int x,y,z;
for(int i=;i<=n;i++)
for(int j=;j<=n;j++){
if(i==j)continue;
d[i][j]=INF;
}
for(int i=;i<=m;i++){
scanf("%d%d%d",&x,&y,&z);
x++;y++;
if(z>=d[x][y])continue;
d[x][y]=d[y][x]=z;
}
for(int k=;k<=n;k++)
for(int i=;i<=n;i++)
for(int j=;j<=n;j++){
d[i][j]=min(d[i][j],d[i][k]+d[k][j]);
}
if(n==){
printf("%d\n",(d[][]+d[][])*);
return ;
}
n1=(n-)/;
n2=n--n1;
for(int q=;q<=;q++){
for(int i=;i<=n;i++)
for(int j=;j<e[n-];j++)
f[q][i][j]=INF;
if(q==)
for(int i=;i<n;i++)f[q][i][e[i-]]=d[][i];
else
for(int i=;i<n;i++)f[q][i][e[i-]]=d[n][i];
for(int j=;j<e[n-];j++){
if(cnt[j]<n2)
for(int i=;i<n;i++){
if(f[q][i][j]<INF)
for(int k=;k<n;k++){
if(f[q][i][j]+d[i][k]<f[q][k][j|e[k-]])
f[q][k][j|e[k-]]=f[q][i][j]+d[i][k];
}
}
}
} ans=INF;
for(int sta=;sta<e[n-];sta++){
if(cnt[sta]==n1){
x=INF;
for(int i=;i<n;i++){
if(sta&e[i-])
for(int j=;j<n;j++){
if(!(sta&e[j-])){
if(f[][i][sta]+d[i][j]+f[][j][e[n-]--sta]<x)
x=f[][i][sta]+d[i][j]+f[][j][e[n-]--sta];
}
}
}
for(int i=;i<n;i++){
if(sta&e[i-])
for(int j=;j<n;j++){
if(!(sta&e[j-]))
if(x+f[][i][sta]+d[i][j]+f[][j][e[n-]--sta]<ans)
ans=x+f[][i][sta]+d[i][j]+f[][j][e[n-]--sta];
}
}
}
}
printf("%d\n",ans);
return ;
}

100分 floyed+状压dp

预计得分100++
实际得分100++
T1很简单,T2是个简单的概率dp,但是数组开小了,T3一点思路都没有,就研究了一下链和树的情况,乱搞了一下
数组开小很不应该们,不能再犯

小结

清北刷题冲刺 11-03 p.m的更多相关文章

  1. 清北刷题冲刺 11-03 a.m

    纸牌 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> ...

  2. 2017-10-2 清北刷题冲刺班a.m

    一道图论神题 (god) Time Limit:1000ms   Memory Limit:128MB 题目描述 LYK有一张无向图G={V,E},这张无向图有n个点m条边组成.并且这是一张带权图,只 ...

  3. 2017-10-2 清北刷题冲刺班p.m

    最大值 (max) Time Limit:1000ms   Memory Limit:128MB 题目描述 LYK有一本书,上面有很多有趣的OI问题.今天LYK看到了这么一道题目: 这里有一个长度为n ...

  4. 清北刷题冲刺 11-02 a.m

    卖书 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> ...

  5. 清北刷题冲刺 11-01 p.m

    轮换 #include<iostream> #include<cstdio> #include<cstring> #define maxn 1010 using n ...

  6. 清北刷题冲刺 10-31 a.m

    集合 #include<iostream> #include<cstdio> #include<algorithm> using namespace std; ], ...

  7. 清北刷题冲刺 10-30 a.m

    星空 #include<iostream> #include<cstdio> using namespace std; int n,m; int main(){ freopen ...

  8. 清北刷题冲刺 10-29 p.m

    洗澡 /* 这个题不能单纯判断左括号和右括号的多少,而应该从左到右扫一遍,看应该如何配对 */ #include<iostream> #include<cstdio> #inc ...

  9. 清北刷题冲刺 10-28 p.m

    水题(贪心) (water) Time Limit:1000ms   Memory Limit:128MB 题目描述 LYK出了道水题. 这个水题是这样的:有两副牌,每副牌都有n张. 对于第一副牌的每 ...

  10. 清北刷题冲刺 10-28 a.m

    立方数 (cubic) Time Limit:1000ms   Memory Limit:128MB 题目描述 LYK定义了一个数叫“立方数”,若一个数可以被写作是一个正整数的3次方,则这个数就是立方 ...

随机推荐

  1. Mysql异常_01_ 誓死登进mysql_Can't connect to MySQL server on 'localhost' (10061)

    现象:打开cmd,输入命令:mysql -uroot -p 回车之后,输入密码,结果进不去mysql,并且抛出异常 异常:Can't connect to MySQL server on 'local ...

  2. Git之Eclipse提交项目到Github并实现多人协作

    一.Eclipece提交项目到Github 见  eclipse提交项目到github 二.利用github组织实现多人协作 1.新建组织: New organization

  3. codeforces 589G G. Hiring(树状数组+二分)

    题目链接: G. Hiring time limit per test 4 seconds memory limit per test 512 megabytes input standard inp ...

  4. px-rem自适应转换(进阶@rem:40rem; )

    接力之前的文章 https://www.cnblogs.com/leshao/p/5674710.html 这篇文章讲解的是px -rem 单位换算 除100的  写法 比如实际测量PSD宽度是500 ...

  5. poj 1519 Digital Roots (计算根数字)

    一.Description The digital root of a positive integer is found by summing the digits of the integer. ...

  6. 分享一个js技巧!判断一个变量chat_websocket是否存在。

    注意!!! 判断一个变量chat_websocket是否存在:if( "undefined" == typeof(chat_websocket) || null == chat_w ...

  7. 模拟Spring中applicationContext.xml配置文件初始化bean的过程

    package com.xiaohao.action; import java.io.File; import java.lang.reflect.Method; import java.util.C ...

  8. SciTE for Ruby的配置

    转自:http://my.oschina.net/xsinger/blog/14229?catalog=71266 下载下面这个文件:http://scintilla.sourceforge.net/ ...

  9. 在java web项目中编写自己的代码生成器

    在java web项目中编写自己的代码生成器

  10. 2.JasperReports学习笔记2-创建简单的报表例子

    转自:http://www.blogjava.net/vjame/archive/2013/10/12/404908.html 一.创建简单的jrxml文件 这里可以手动创建jrxml文件,也可以使用 ...