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. LINUX系统下的shell命令---grep、sed、awk

    1)grep文本过滤命令 1.grep基本认识 (Global  search  regular expression and  print  out the  line全局搜索研究正则表达时并显示出 ...

  2. IIS:连接数、并发连接数、最大并发工作线程数、应用程序池的队列长度、应用程序池的最大工作进程数详解

    Internet Information Services(IIS,互联网信息服务),是由微软公司提供的基于运行Microsoft Windows的互联网基本服务.最初是Windows NT版本的可选 ...

  3. python编程(最简单的rpc代码)

    [ 声明:版权所有,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 采用twisted可以编写最简单的rpc代码. server端代码如下, from twiste ...

  4. python 多维list声明时的小问题

    a=[[]]*3 a Out[18]: [[], [], []] a[0].append(1) a Out[20]: [[1], [1], [1]] b=[[] for _ in range(3)] ...

  5. I.MX6 I2C DS1337 disable square-wave output

    linux I2C DS1337 disable square-wave output \\\\\\\\\\\-*- 目录 -*-////////// | 一.DS1337访问寄存器说明: | 二.c ...

  6. 小程序开发之scroll-view中id不能以数字开头的问题

    在实现这样的一个功能时,   调用微信小程序api发现scroll中可以通过id来实现点击菜单栏,屏幕滚动到对应的id位置 但是id不能以数字,汉字类型的 字符串开头(暂发现两种),可能博主比较笨,想 ...

  7. Git 过滤文件,控制上传

    在Git的版本控制中,可能有些文件是不需要加入控制的,那我们在提交代码时就需要忽略这些文件,下面讲讲应该怎么给Git配置一些忽略规则. 有三种方法可以忽略掉这些文件,这三种方法都能达到目的,只不过适用 ...

  8. C语言变量、函数的作用域及变量的存储方式

    一.变量的作用域和存储方式 在C语言中每个变量都有两种基本属性:数据类型.数据的存储类别. 数据类型很多人都已熟知,例如:字符型(char).整型(int).浮点型(float)等等.存储类别是指数据 ...

  9. 向requestAnimationFrame的回调函数中传递参数

    其实跟setTimeout类似,我们知道传参传的是一个函数,那么我们是不是可以用一个匿名函数来包裹这个函数的执行呢function fn(fc){ console.log('fc:',fc) fc++ ...

  10. BZOJ3529 [Sdoi2014]数表【莫比乌斯反演】

    Description 有一张 n×m 的数表,其第 i 行第 j 列(1 <= i <= n, 1 <= j <= m)的数值为 能同时整除 i 和 j 的所有自然数之和.给 ...