【做题记录】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 积木大赛/铺设道路 傻逼原题? 然后傻逼的我居然检查了半天是不是有陷阱最后花了差不多一个小时才做掉我做过的原题...真的傻逼了我:( ...
随机推荐
- Android支持Split Apks后,如何获得指定包名下的所有类
从Android5.0以后,支持多个apk动态部署,这导致以前通过单一apk获取包路径下的所有类的方法失效,不过稍微修改一下原先的代码就可以,代码如下 public static final List ...
- Django部署时为什么要用 uWSGI与 Nginx? 以及 WSGI,uwsgi等协议
Django框架的服务器架构一般是 Nginx + uWSGI + Django (1)一些基本概念 1 WSGI协议,uwsgi协议 WSGI协议(通讯协议):Python用于Web开发的协议(用于 ...
- Kconfig介绍
https://www.kernel.org/doc/Documentation/kbuild/kconfig-language.txt
- HBase数据存储
HRegionServer  HBase的数据文件都存储在HDFS上,格式主要有两种: - HFile:HBase中KeyValue数据的存储格式,HFile是Hadoop的二进制文件,实际上Sto ...
- Springboot yml获取系统环境变量的值
注意,这里说的是获取系统环境变量的值,譬如Windows里配置的JAVA_HOME之类的,可以直接在Springboot的配置文件中获取. 我们经常使用一些docker管理平台,如DaoCloud.r ...
- 深入理解Eureka之源码解析
转载请标明出处: http://blog.csdn.net/forezp/article/details/73017664 本文出自方志朋的博客 Eureka的一些概念 Register:服务注册 当 ...
- sql server不能删除数据库,显示错误:正在使用
解决办法: use mastergoalter database database_name set single_user with rollback immediate --将数据库回滚到原始配置 ...
- vue运行原理
Vue工作原理小结 本文能帮你做什么? 1.了解vue的双向数据绑定原理以及核心代码模块 2.缓解好奇心的同时了解如何实现双向绑定 为了便于说明原理与实现,本文相关代码主要摘自vue源码, 并进行了简 ...
- PDF文档过期时间/自毁设置
不是很完美的方法,可以凑活着用: 切换到Pages预览页,右击页面选页面属性 切换到Action,选Run a Javascript,代码: // PDF JavaScript to make it ...
- Java 多线程 2015/9/21
http://lavasoft.blog.51cto.com/62575/27069 http://blog.csdn.net/aboy123/article/details/38307539 ...