【做题记录】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 积木大赛/铺设道路 傻逼原题? 然后傻逼的我居然检查了半天是不是有陷阱最后花了差不多一个小时才做掉我做过的原题...真的傻逼了我:( ...
随机推荐
- thinkphp3.1 多表联合查询代码
php代码 public function info(){ $where['openid']=session('openid');////用户session $db = M("pay&quo ...
- c# 字符串验证(邮箱、电话、数字、ip、身份证等)
using System; using System.Text.RegularExpressions; namespace HuaTong.General.Utility { /// <summ ...
- 配置mysql 允许远程连接
今天折腾了好常时间远程连接mysql ,在云服务器里面打开了3306端口,使用了service mysql status查看到mysql进程正常. netstat -anp | grep mysql ...
- CUDA Samples: green ball
以下CUDA sample是分别用C++和CUDA实现的生成的绿色的球图像,并对其中使用到的CUDA函数进行了解说,code参考了<GPU高性能编程CUDA实战>一书的第五章,各个文件内容 ...
- 【Git】Git的正确学习方式
Git学习笔记 学习资料 git init git status git log 可以查看提交历史 git reset --hard commit_id git reflog查看命令历史 git ad ...
- 【IDEA】创建maven项目时,报错[FATAL_ERROR] Cannot start Maven: Cannot find JRE '1.7'
在使用IDEA使用maven创建springMVC项目时,出现下面的错误,导致无法创建生成正常的springMVC项目结构,而只有一个pom文件: [FATAL_ERROR] Cannot start ...
- Android:数据持久化(1/2)文件、SharedPreferences
Summary 持久化的3种方法: 普通文件:I/O流操作文件: SharedPreferences:XML文件,通过key-value pair的形式存储数据: SQLite:Android自带数据 ...
- js 值和引用
js对值和引用的赋值/传递在语法上没有区别,完全根据值得类型决定 简单值(即标量基本类型值),总是通过值复制的方式来赋值/传递,包括null,undefined,字符串,数字,布尔值和ES6中的sym ...
- stm32寄存器版学习笔记10 SPI
SPI(Serial Peripheral Interface),串行外围设备接口.SPI是一种高速的.全双工.同步的通信总线. SPI接口一般使用4条线通信: MISO 主设备数据输入,从设备数据输 ...
- 《DSP using MATLAB》示例Example 6.8
今天情人节,又在外地出差,苦逼中…… 继续写读书笔记吧. 代码: % All-Zeros FIR filter to Lattice structure filter b = [2, 13/12, 5 ...