麦香牛块洛谷传送门麦香牛块USACO传送门篱笆回路洛谷传送门篱笆回路USACO传送门

洛谷 2737 麦香牛块

分析

首先如果包装总GCD不为1,显然没有上界

然后这个答案如果存在必然满足在一个范围内,

可以推结论得到上界为\(max*(max-1)\)(好像是反证法)

然后就可以用完全背包求解啦,

但是为了推广\(\text{STL::bitset}O(\frac{n*maxlogLIMIT}{32})\)的做法

所以我就写了跑得更慢的做法T^T


代码

/*
ID:lemondi1
LANG:C++
TASK:nuggets
*/
#include <cstdio>
#include <algorithm>
#include <bitset>
#define rr register
using namespace std;
const int N=65300;
bitset<N>dp; int n,a[11],G,ans,lim;
inline signed gcd(int a,int b){return b?gcd(b,a%b):a;}
signed main(){
freopen("nuggets.in","r",stdin);
freopen("nuggets.out","w",stdout);
scanf("%d",&n);
for (rr int i=1;i<=n;++i){
scanf("%d",&a[i]);
G=gcd(G,a[i]);
}
if (G!=1) return !printf("0\n");
dp[0]=1,sort(a+1,a+1+n),lim=a[n]*(a[n]-1);
for (rr int i=1;i<=n;++i)
for (rr int j=a[i];j<=lim;j<<=1)
dp|=dp<<j;
dp[0]=0;
for (rr int i=a[n]*(a[n]-1);~i;--i)
if (!dp[i]) return !printf("%d\n",i);
}

洛谷 2738 篱笆回路

分析

显然是求最小环,数据小用\(\text{FLOYD}\)解决

但是建图是关键,考虑用哈希存下某篱笆某一边所有可连的篱笆(包括它自己)

这样就可以加点了


代码

/*
ID:lemondi1
LANG:C++
TASK:fence6
*/
#include <cstdio>
#include <cctype>
#include <algorithm>
#include <cstring>
#include <map>
#define rr register
using namespace std;
typedef unsigned uit; map<uit,int>uk;
int d[101][101],dis[101][101],n,ans,a[11];
inline signed iut(){
rr int ans=0; rr char c=getchar();
while (!isdigit(c)) c=getchar();
while (isdigit(c)) ans=(ans<<3)+(ans<<1)+(c^48),c=getchar();
return ans;
}
signed main(){
freopen("fence6.in","r",stdin);
freopen("fence6.out","w",stdout);
memset(dis,42,sizeof(dis)),
memset(d,42,sizeof(d)),ans=d[0][0];
for (rr int Test=iut();Test;--Test){
rr int Num=iut(),Len=iut(),X[2];
rr int nn[2]={iut(),iut()},Tot;
for (rr int j=0;j<2;++j){
a[Tot=1]=Num;
for (;nn[j];--nn[j])
a[++Tot]=iut();
sort(a+1,a+1+Tot);
rr uit h=a[1];
for (rr int i=2;i<=Tot;++i)
h=h*137+a[i];
if (!uk[h]) uk[h]=++n;
X[j]=uk[h];
}
dis[X[0]][X[1]]=d[X[0]][X[1]]=Len;
dis[X[1]][X[0]]=d[X[1]][X[0]]=Len;
}
for (rr int k=1;k<=n;++k){
for (rr int i=1;i<k-1;++i)
for (rr int j=i+1;j<k;++j)
ans=min(ans,dis[i][j]+d[i][k]+d[j][k]);
for (rr int i=1;i<=n;++i)
for (rr int j=1;j<=n;++j)
dis[i][j]=min(dis[i][j],dis[i][k]+dis[k][j]);
}
return !printf("%d\n",ans);
}

USACO 4.1的更多相关文章

  1. USACO . Your Ride Is Here

    Your Ride Is Here It is a well-known fact that behind every good comet is a UFO. These UFOs often co ...

  2. 【USACO 3.1】Stamps (完全背包)

    题意:给你n种价值不同的邮票,最大的不超过10000元,一次最多贴k张,求1到多少都能被表示出来?n≤50,k≤200. 题解:dp[i]表示i元最少可以用几张邮票表示,那么对于价值a的邮票,可以推出 ...

  3. USACO翻译:USACO 2013 NOV Silver三题

    USACO 2013 NOV SILVER 一.题目概览 中文题目名称 未有的奶牛 拥挤的奶牛 弹簧牛 英文题目名称 nocow crowded pogocow 可执行文件名 nocow crowde ...

  4. USACO翻译:USACO 2013 DEC Silver三题

    USACO 2013 DEC SILVER 一.题目概览 中文题目名称 挤奶调度 农场航线 贝西洗牌 英文题目名称 msched vacation shuffle 可执行文件名 msched vaca ...

  5. USACO翻译:USACO 2014 DEC Silver三题

    USACO 2014 DEC SILVER 一.题目概览 中文题目名称 回程 马拉松 奶牛慢跑 英文题目名称 piggyback marathon cowjog 可执行文件名 piggyback ma ...

  6. USACO翻译:USACO 2012 FEB Silver三题

    USACO 2012 FEB SILVER 一.题目概览 中文题目名称 矩形草地 奶牛IDs 搬家 英文题目名称 planting cowids relocate 可执行文件名 planting co ...

  7. USACO翻译:USACO 2012 JAN三题(3)

    USACO 2012JAN(题目三) 一.题目概览 中文题目名称 放牧 登山 奶牛排队 英文题目名称 grazing climb lineup 可执行文件名 grazing climb lineup ...

  8. USACO翻译:USACO 2012 JAN三题(2)

    USACO 2012 JAN(题目二) 一.题目概览 中文题目名称 叠干草 分干草 奶牛联盟 英文题目名称 stacking baleshare cowrun 可执行文件名 stacking bale ...

  9. USACO翻译:USACO 2012 JAN三题(1)

    USACO 2012 JAN(题目一) 一.题目概览 中文题目名称 礼物 配送路线 游戏组合技 英文题目名称 gifts delivery combos 可执行文件名 gifts delivery c ...

  10. USACO翻译:USACO 2013 JAN三题(1)

    USACO 2013 JAN 一.题目概览 中文题目名称 镜子 栅栏油漆 奶牛排队 英文题目名称 mirrors paint lineup 可执行文件名 mirrors paint lineup 输入 ...

随机推荐

  1. Doris Fe在Mac上搭建开发环境踩坑记录

    1. 拉取代码到本地 git clone https://github.com/apache/doris.git 2. 参考Doris的文档,但别全信(信了你就上当了) 参考第一篇 https://d ...

  2. 【Android逆向】破解黑宝宝apk,绕过签名校验

    这是52pojie的一道题,实现输入任何密码都可以登录成功 他知道你最近在学习Android逆向 他想在游戏上线前让你测试一下他新加的签名验证是否能防住别人的破解. 下面是李华编写的黑宝宝apk 链接 ...

  3. 细聊ASP.NET Core WebAPI格式化程序

    前言 我们在使用ASP.NET Core WebApi时它支持使用指定的输入和输出格式来交换数据.输入数据靠模型绑定的机制处理,输出数据则需要用格式化的方式进行处理.ASP.NET Core框架已经内 ...

  4. http.Handler接口

    // 示例 // net/http package http type Handler interface{ ServeHTTP(w ResponseWriter, r *Request) } fun ...

  5. 【LeetCode链表#7】设计一个链表并实现常见的操作方法

    设计链表 题目 力扣题目链接 设计链表的实现.您可以选择使用单链表或双链表.单链表中的节点应该具有两个属性:val 和 next.val 是当前节点的值,next 是指向下一个节点的指针/引用.如果要 ...

  6. 【Azure Redis】Redis客户端出现15分钟的超时异常

    问题描述 客户端使用 Lettuce.io 连接 Azure Redis,出现了长达15分钟的Timeout异常. 问题解答 Azure Redis作为PaaS服务,由于一些平台的升级操作而引发的故障 ...

  7. 【Azure Redis 缓存】Redission客户端连接Azure:客户端出现 Unable to send PING command over channel

    问题描述 Redission客户端连接Azure:客户端出现 Unable to send PING command over channel ... ...  io.netty.channel.St ...

  8. 接口自动化有多少case?覆盖率是多少?执行完需要多久?

    case根据接口数量而定,比如两百个接口,大概有5000个用例,一个接口大概有25到30个用例,一个接口大概200ms左右响应时间 覆盖率能达到95%以上,有时候可以达到百分之百,所有接口自动化用例执 ...

  9. GaussDB(DWS)运维利刃:TopSQL工具解析

    本文分享自华为云社区<GaussDB(DWS)运维利刃:TopSQL工具解析>,作者:胡辣汤. 在生产环境中,难免会面临查询语句出现异常中断.阻塞时间长等突发问题,如果没能及时记录信息,事 ...

  10. config.baseUrl.dev 变量 转移到 .env.local 中

    config.baseUrl.dev 变量 转移到 .env.local 中 上下文 vue前端开发 问题 多人写代码的时候,会提交config.js里面的配置文件 解决方案 在根目录创建 .env. ...