【做题记录】USACO gold * 50(第一篇)
orz xhk
5/50
1597: [Usaco2008 Mar]土地购买
$ f[i]=min(f[j]+x[i]*y[j+1]) $ 然后斜率优化
1699: [Usaco2007 Jan]Balanced Lineup排队
silver里好像做过?
静态RMQ直接上st表
1578: [Usaco2009 Feb]Stock Market 股票市场
看成完全背包。对于每天都搞一下完全背包
1574: [Usaco2009 Jan]地震损坏Damage
语文题QwQ。大力搜索,代码:
#include <bits/stdc++.h>
using namespace std;
const int maxn=, INF=1e9;
int n, vis[maxn];
vector<int> G[maxn];
void Addedge(int u,int v ){
G[u].push_back(v); G[v].push_back(u);
}
int ans;
int dfs(int x){
vis[x]=; ans--;
for(int i=;i<G[x].size();i++){
int v=G[x][i];
if(!vis[v]){
vis[v]=; dfs(v);
}
}
}
int main(){
int a,b,p,c;
scanf("%d%d%d",&n,&c,&p); ans=n;
while(c--){
scanf("%d%d",&a,&b); Addedge(a,b);
}
// vis[1]=1;
while(p--){
scanf("%d",&a); // vis[a]=1;
for(int i=;i<G[a].size();i++) vis[G[a][i]]=;
}
dfs();
printf("%d\n",ans);
return ;
}
/*
4 5 1
1 2
2 3
3 4
2 4
1 3
3 */
1577: [Usaco2009 Feb]庙会捷运Fair Shuttle
数据范围看出来肯定是带个log的。。。。
按照右端点从小到大排序,然后从前往后选取,要用线段树维护一下区间最大值。
#include <bits/stdc++.h>
#define ls o<<1,l,mid
#define rs o<<1|1,mid+1,r
using namespace std;
const int maxn=5e5, INF=1e9;
struct Node{
int l,r,num;
}a[maxn];
bool cmp(Node a,Node b){
return (a.r<b.r || (a.r==b.r && a.l>b.l));
}
int v[maxn],lazy[maxn];
void pushdown(int o,int l,int r){
v[o<<]+=lazy[o]; v[o<<|]+=lazy[o];
lazy[o<<]+=lazy[o]; lazy[o<<|]+=lazy[o];
lazy[o]=;
}
int query(int o,int l,int r,int L,int R){
if(l>R || r<L) return -;
if(l>=L && r<=R) return v[o];
pushdown(o,l,r);
int mid=l+r>>;
return max(query(ls,L,R),query(rs,L,R));
}
void add(int o,int l,int r,int val,int L,int R){
if(l>R || r<L) return;
if(l>=L && r<=R){v[o]+=val,lazy[o]+=val;return;}
int mid=l+r>>;
add(ls,val,L,R); add(rs,val,L,R);
v[o]=max(v[o<<],v[o<<|]);
} int main(){
int k,n,c; scanf("%d%d%d",&k,&n,&c);
for(int i=;i<k;i++){
scanf("%d%d%d",&a[i].l,&a[i].r,&a[i].num); a[i].r--;
}
sort(a,a+k,cmp);
int Ans=;
for(int i=;i<k;i++){
int ans=min(c-query(,,n,a[i].l,a[i].r),a[i].num);
// printf("----- %d %d\n",query(1,1,n,a[i].l,a[i].r),ans);
Ans+=ans;
add(,,n,ans,a[i].l,a[i].r);
}
printf("%d\n",Ans);
return ;
}
【做题记录】USACO gold * 50(第一篇)的更多相关文章
- Sam做题记录
Sam做题记录 Hihocoder 后缀自动机二·重复旋律5 求一个串中本质不同的子串数 显然,答案是 \(\sum len[i]-len[fa[i]]\) Hihocoder 后缀自动机三·重复旋律 ...
- BJOI做题记录
BJOI做题记录 终于想起还要做一下历年省选题了2333 然而咕了的还是比做了的多2333 LOJ #2178. 「BJOI2017」机动训练 咕了. LOJ #2179. 「BJOI2017」树的难 ...
- FJOI2017前做题记录
FJOI2017前做题记录 2017-04-15 [ZJOI2017] 树状数组 问题转化后,变成区间随机将一个数异或一,询问两个位置的值相等的概率.(注意特判询问有一个区间的左端点为1的情况,因为题 ...
- UOJ 做题记录
UOJ 做题记录 其实我这么弱> >根本不会做题呢> > #21. [UR #1]缩进优化 其实想想还是一道非常丝播的题目呢> > 直接对于每个缩进长度统计一遍就好 ...
- project euler做题记录
ProjectEuler_做题记录 简单记录一下. problem 441 The inverse summation of coprime couples 神仙题.考虑答案为: \[\begin{a ...
- 退役IV次后做题记录
退役IV次后做题记录 我啥都不会了.... AGC023 D 如果所有的楼房都在\(S\)同一边可以直接得出答案. 否则考虑最左最右两边的票数,如果左边>=右边,那么最右边会投给左边,因为就算车 ...
- 退役III次后做题记录(扯淡)
退役III次后做题记录(扯淡) CF607E Cross Sum 计算几何屎题 直接二分一下,算出每条线的位置然后算 注意相对位置这个不能先搞出坐标,直接算角度就行了,不然会卡精度/px flag:计 ...
- 退役II次后做题记录
退役II次后做题记录 感觉没啥好更的,咕. atcoder1219 历史研究 回滚莫队. [六省联考2017]组合数问题 我是傻逼 按照组合意义等价于\(nk\)个物品,选的物品\(\mod k\) ...
- [日记&做题记录]-Noip2016提高组复赛 倒数十天
写这篇博客的时候有点激动 为了让自己不颓 还是写写日记 存存模板 Nov.8 2016 今天早上买了两个蛋挞 吃了一个 然后就做数论(前天晚上还是想放弃数论 但是昨天被数论虐了 woc noip模拟赛 ...
- noip做题记录+挑战一句话题解?
因为灵巧实在太弱辽不得不做点noip续下命QQAQQQ 2018 积木大赛/铺设道路 傻逼原题? 然后傻逼的我居然检查了半天是不是有陷阱最后花了差不多一个小时才做掉我做过的原题...真的傻逼了我:( ...
随机推荐
- CString与输入输出流对象问题。
在C++ 编程出现:cin>>Id;没有与这些操作匹配的">>"运算符: 你要看你的Id的数据类型,如果是CString等字符串,要用cin.getline ...
- 微信测试帐号如何设置URL和Token,以及相关验证的原理
首先说明,本帮助文档是利用javaweb的Servlet来进行“接口配置信息配置信息”认证的. 在学习微信公众号开发的时候,读到填写服务器配置的帮助部分,总是不能理解为啥按照他的步骤做总是设置失败(吐 ...
- HDU 2273
http://acm.hdu.edu.cn/showproblem.php?pid=2273 N辆车排队过马路,不能相撞,问最短时间 ans=车的总长度/最小速度 #include <iostr ...
- Linux基本概念及操作
基本概念及操作 一.实验介绍 1.1 实验内容: 实验楼环境介绍 常用 Shell 命令及快捷键 Linux 使用小技巧 1.2 实验知识点 Linux 基本命令 通配符的使用 基本软件安装 查看帮助 ...
- .NET Web开发技术简单整理 转
.NET Web开发技术简单整理 原文:http://www.cnblogs.com/SanMaoSpace/p/3157293.html 在最初学习一些编程语言.一些编程技术的时候,做的更多的是如何 ...
- mysql在innodb索引下b+树的高度问题。
B+树索引介绍 B+树索引的本质是B+树在数据库中的实现.但是B+树索引有一个特点是高扇出性,因此在数据库中,B+树的高度一般在2到3层.也就是说查找某一键值的记录,最多只需要2到3次IO开销.按磁盘 ...
- Chrome调试javacript禁止缓存
/********************************************************************* * Chrome调试javacript禁止缓存 * 说明: ...
- js实现百度,淘宝搜索功能
Common.js //封装类名 function byClassName(sClassName){ if(document.getElementsBYClassName){ return d ...
- Apache下配置Openstack Horizon (转)
非常详尽的Horizon配置介绍,转自 dev.cloudwatt.com Deploy Horizon from source with Apache and SSL Some companies ...
- Java IO,io,文件操作,删除文件,删除文件夹,获取文件父级目录
Java IO,io,文件操作,删除文件,删除文件夹,获取文件父级目录 这里先简单的贴下常用的方法: File.separator //当前系统文件分隔符 File.pathSeparator // ...