三向城

#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一点思路都没有,就研究了一下链和树的情况,乱搞了一下
数组开小很不应该们,不能再犯

小结

最新文章

  1. .NET 强引用与弱引用
  2. java的值传递和引用传递
  3. BZOJ-1878 HH的项链 树状数组+莫队(离线处理)
  4. Centos 6 安装 epel yum库
  5. apache常见错误汇总
  6. 用PHP生成随机数的函数
  7. SQL Server 2008 远程过程调用失败[ VS2012]
  8. RTSP Monitor的总结
  9. node.js 学习随笔
  10. 导出Mysql数据库中的数据
  11. LeetCode 167. Two Sum II - Input array is sorted (两数之和之二 - 输入的是有序数组)
  12. Mina源码阅读笔记(一)-整体解读
  13. Luogu P5279 [ZJOI2019]麻将
  14. AWS Tagging Strategies
  15. onkeyup+onafterpaste 只能输入数字和小数点--转载
  16. 压缩JS的eclipse插件
  17. C#爬取京东手机数据+PowerBI数据可视化展示
  18. 图片MassiGra045 简体中文|MG
  19. numpy基础入门
  20. 利用CompletableFuture优化程序的执行效率

热门文章

  1. C# WinForm开发DataGridView 使用
  2. AtCoder Grand Contest 014 题解
  3. 标准模板库(STL)学习指南之set集合
  4. BZOJ3307:雨天的尾巴
  5. 找工作--volatile
  6. Java中String和byte[]间的 转换
  7. java&quot;==&quot;与equals()方法的对照
  8. js右击事件
  9. AI:AI
  10. LIBCMTD.lib(wincrt0.obj) : error LNK2019: 无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainCRTStartup 中被引用