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(第一篇)的更多相关文章

  1. Sam做题记录

    Sam做题记录 Hihocoder 后缀自动机二·重复旋律5 求一个串中本质不同的子串数 显然,答案是 \(\sum len[i]-len[fa[i]]\) Hihocoder 后缀自动机三·重复旋律 ...

  2. BJOI做题记录

    BJOI做题记录 终于想起还要做一下历年省选题了2333 然而咕了的还是比做了的多2333 LOJ #2178. 「BJOI2017」机动训练 咕了. LOJ #2179. 「BJOI2017」树的难 ...

  3. FJOI2017前做题记录

    FJOI2017前做题记录 2017-04-15 [ZJOI2017] 树状数组 问题转化后,变成区间随机将一个数异或一,询问两个位置的值相等的概率.(注意特判询问有一个区间的左端点为1的情况,因为题 ...

  4. UOJ 做题记录

    UOJ 做题记录 其实我这么弱> >根本不会做题呢> > #21. [UR #1]缩进优化 其实想想还是一道非常丝播的题目呢> > 直接对于每个缩进长度统计一遍就好 ...

  5. project euler做题记录

    ProjectEuler_做题记录 简单记录一下. problem 441 The inverse summation of coprime couples 神仙题.考虑答案为: \[\begin{a ...

  6. 退役IV次后做题记录

    退役IV次后做题记录 我啥都不会了.... AGC023 D 如果所有的楼房都在\(S\)同一边可以直接得出答案. 否则考虑最左最右两边的票数,如果左边>=右边,那么最右边会投给左边,因为就算车 ...

  7. 退役III次后做题记录(扯淡)

    退役III次后做题记录(扯淡) CF607E Cross Sum 计算几何屎题 直接二分一下,算出每条线的位置然后算 注意相对位置这个不能先搞出坐标,直接算角度就行了,不然会卡精度/px flag:计 ...

  8. 退役II次后做题记录

    退役II次后做题记录 感觉没啥好更的,咕. atcoder1219 历史研究 回滚莫队. [六省联考2017]组合数问题 我是傻逼 按照组合意义等价于\(nk\)个物品,选的物品\(\mod k\) ...

  9. [日记&做题记录]-Noip2016提高组复赛 倒数十天

    写这篇博客的时候有点激动 为了让自己不颓 还是写写日记 存存模板 Nov.8 2016 今天早上买了两个蛋挞 吃了一个 然后就做数论(前天晚上还是想放弃数论 但是昨天被数论虐了 woc noip模拟赛 ...

  10. noip做题记录+挑战一句话题解?

    因为灵巧实在太弱辽不得不做点noip续下命QQAQQQ 2018 积木大赛/铺设道路 傻逼原题? 然后傻逼的我居然检查了半天是不是有陷阱最后花了差不多一个小时才做掉我做过的原题...真的傻逼了我:( ...

随机推荐

  1. js `` 手机不支持

  2. iOS NSRunloop

    什么是Runloop Runloop即运行循环.为什么你的APP放在那里不去动它,在某个时间点去操作它,它还会给你反馈.就是因为Runloop的存在. 总结一下,因为Runloop的存在,保证你的程序 ...

  3. 给View 添加手势,点击无反应 如何给View添加点击事件,手势方法

    项目中有很多地方需要添加点击事件,重复代码很多,所以做了一个UIView的分类,专门做点击事件使用.项目地址:UIView-Tap 代码很简单,主要有一点就是注意分类不能直接添加属性,需要用到运行时相 ...

  4. 为Linux服务器的SSH登录启用Google两步验证

    对于Linux服务器而言使用密钥登录要比使用密码登录安全的多,毕竟当前网上存在多个脚本到处进行爆破. 这类脚本都是通过扫描IP端的开放端口并使用常见的密码进行登录尝试,因此修改端口号也是非常有必要的. ...

  5. JAXP使用Stax API时格式化输出XML 2

    之前实现的一个版本:http://www.cnblogs.com/lyhtbc/p/jaxp-pretty-format-validate-validation-stax-stax2.html 这个版 ...

  6. 用两个stack实现一个队列

    class Queue { stack<int> input, output; public: void push(int x) { input.push(x); } void pop(v ...

  7. 可能是 BJOI2019 Day1 题解?

    T1 给一个有空白字符的串 $S$,和若干模板串 $X_i$,初始 $Ans = 1$,每当一个模板串在 $S$ 中作为子串出现时,$Ans$ 会乘以 $X_i$ 的权值 $Val_i$,然后如果 $ ...

  8. BZOJ1002 FJOI2007 轮状病毒 【基尔霍夫矩阵+高精度】

    BZOJ1002 FJOI2007 轮状病毒 Description 轮状病毒有很多变种,所有轮状病毒的变种都是从一个轮状基产生的.一个N轮状基由圆环上N个不同的基原子和圆心处一个核原子构成的,2个原 ...

  9. 将 WPF、UWP 以及其他各种类型的旧样式的 csproj 文件迁移成新样式的 csproj 文件

    写过 .NET Standard 类库或者 .NET Core 程序的你一定非常喜欢微软为他们新开发的项目文件(对于 C#,则是 csproj 文件).这种文件非常简洁,组织一个庞大的项目也只需要聊聊 ...

  10. C#连接数据库以及增、删、改、查操作

    using System; using System.Collections.Generic; using System.Data.SqlClient; using System.Linq; usin ...