传送门

## T1

区间修改+单点查询。差分树状数组。

#include<iostream>
#include<cstdio>
#include<cstring> using namespace std;
const int MAXN = ; inline int rd(){
int x=,f=;char ch=getchar();
while(!isdigit(ch)) {f=ch=='-'?:;ch=getchar();}
while(isdigit(ch)) {x=(x<<)+(x<<)+ch-'';ch=getchar();}
return f?x:-x;
} void out(int x){
if(!x) return;
out(x/);
putchar(''+x%);
} int f[MAXN],n,m,ans; void update(int x,int k){
for(;x<=n;x+=x&-x) f[x]+=k;
} int query(int x){
int ret=;
for(;x;x-=x&-x) ret+=f[x];
return ret;
} int main(){
// freopen("Agent3.in","r",stdin);
// freopen("T1.out","w",stdout);
n=rd(),m=rd();
int x,y,op;
while(m--){
op=rd();
if(op==) {
x=rd();y=rd();
update(x,);update(y+,-);
}
else{
x=rd();ans=query(x);if(!ans) putchar('');
else out(query(x));putchar('\n');
}
}
return ;
}

## T2

比赛的时候算错复杂度,以为是个模拟。拿了$60pts$的暴力分。正解要用双向链表,不太想写,留坑。

## T3

状压$dp$,考试的时候题意中有句话不理解,写了三份代码,结果发现都过不了大样例 ($wtf??$),最后快结束时瞎交了一份,结果拿了90。。最后发现中间有个地方没开$long long$ ,亏死。设$dp[S][i]$表示现在选的集合为$S$,最后一个选的为$i$的最大收益,然后再枚举一个集合外的元素$j$,进行转移。时间复杂度$O(2^n*n)$

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<cmath>
#define int long long using namespace std;
const int MAXN = ;
typedef long long LL; inline int rd(){
int x=,f=;char ch=getchar();
while(!isdigit(ch)) {f=ch=='-'?:;ch=getchar();}
while(isdigit(ch)) {x=(x<<)+(x<<)+ch-'';ch=getchar();}
return f?x:-x;
} int n,m,K,t[MAXN];
int val[MAXN],ex[MAXN][MAXN];
LL dp[<<MAXN][MAXN],ans; inline void MAX(){
int S=;
for(register int i=;i<=m;i++) S|=(<<(t[i]-));
for(register int i=;i<=m;i++) ans=max(ans,dp[S][t[i]]);
} void dfs(int x,int now){
if(now==m) {MAX();return;}
if(x==n+) return;
t[now+]=x;dfs(x+,now+);
t[now+]=;dfs(x+,now);
} signed main(){
// memset(dp,-0x3f,sizeof(dp));
n=rd(),m=rd();K=rd();int x,y;
for(register int i=;i<=n;i++) val[i]=rd();
for(register int i=;i<=K;i++){
x=rd(),y=rd();
ex[x][y]+=rd();
}dp[][]=;
for(register int i=;i<=n;i++) dp[<<(i-)][i]=val[i];
for(register int S=;S<<<n;S++)
for(register int i=;i<=n;i++)if((S&(<<(i-))))
for(register int j=;j<=n;j++)if(!(S&(<<(j-))))
dp[S|(<<(j-))][j]=max(dp[S|(<<(j-))][j],dp[S][i]+val[j]+ex[i][j]);
// cout<<ans<<endl;
dfs(,);
cout<<ans<<endl;
return ;
}

l洛谷 NOIP提高组模拟赛 Day2的更多相关文章

  1. 洛谷 NOIP提高组模拟赛 Day1

    传送门 ## $T1$ 一道结论题,设原来A队能力最大的是x,那么A队的选择方案就是$2^{x-1}$,B队的选择方案就是$(2^{n-x}-1)$种,因为不能不选.其中$1\leq x\leq n$ ...

  2. 【洛谷】NOIP提高组模拟赛Day2【动态开节点/树状数组】【双头链表模拟】

    U41571 Agent2 题目背景 炎炎夏日还没有过去,Agent们没有一个想出去外面搞事情的.每当ENLIGHTENED总部组织活动时,人人都说有空,结果到了活动日,却一个接着一个咕咕咕了.只有不 ...

  3. HGOI20180815 (NOIP 提高组模拟赛 day2)

    Day 2 rank 11 100+35+30=165 本题是一道数论题,求ax+by=c的正整数对(x,y) x>=0并且y>=0 先说下gcd: 求a,b公约数gcd(a,b) 如gc ...

  4. 【洛谷】NOIP提高组模拟赛Day1【组合数学】【贪心+背包】【网络流判断是否满流以及流量方案】

    U41568 Agent1 题目背景 2018年11月17日,中国香港将会迎来一场XM大战,是世界各地的ENLIGHTENED与RESISTANCE开战的地点,某地 的ENLIGHTENED总部也想派 ...

  5. 10-18 noip提高组模拟赛(codecomb)T1倍增[未填]

    T1只想到了找环,> <倍增的思想没有学过,所以看题解看得雨里雾里的(最近真的打算学一下! 题目出的挺好的,觉得noip极有可能出现T1T2T3,所以在此mark 刚开始T1以为是模拟,还 ...

  6. noip提高组模拟赛(QBXT)T2

    T2count题解 [ 问题描述]: 小 A 是一名热衷于优化各种算法的 OIER,有一天他给了你一个随机生成的 1~n 的排列, 并定 义区间[l,r]的价值为: \[ \huge C_{l,r}= ...

  7. 10-18 noip提高组模拟赛(codecomb)T2贪心

    T2:找min:一直找最小的那个,直到a[i]-x+1小于0,就找次小的,以此类推: 求max,也是一样的,一直到最大的那个,直到次大的比之前最大的大,就找次大的: 这个模拟,可以用上priority ...

  8. HGOI2010816 (NOIP 提高组模拟赛 day1)

    Day1 210pts(含T1莫名的-10pts和T3莫名的-30pts) 100+70+40=210 rank 29 这道题第一眼看是字符串匹配问题什么KMP啊,又想KMP不会做啊,那就RK Has ...

  9. newcoder NOIP提高组模拟赛C题——保护

    我是发了疯才来写这道题的 我如果用写这道题的时间去写dp,我估计我能写上三四道 可怕的数据结构题 题目 这道题的鬼畜之处在于实在是不太好写 我们看到要求离树根尽量的近,所以我们很容易就能想到树上倍增, ...

随机推荐

  1. Zookeeper怎么实现分布式锁?

    对访问资源 R1 的过程加锁,在操作 O1 结束对资源 R1 访问前,其他操作不允许访问资源 R1.以上算是对独占锁的简单定义了,那么这段定义在 Zookeeper 的"类 Unix/Lin ...

  2. 《转》python数据类型

    转自 http://www.cnblogs.com/BeginMan/archive/2013/06/08/3125876.html 一.标准类型函数 cmp():比较大小 str():转换为字符串 ...

  3. jupyter安装_pip法

    安装jupyter notebook的流程(注意python至少需要3.6版本) python -m pip install jupyter  #安装jupyter python -m pip ins ...

  4. Docker学习のC/S模式

    我们操作docker是通过命令行客户端,然后和守护进程通信 以前的是通过命令行 我们还可以通过RemoApI的形式,通过自己的程序访问docker 和守护进程链接方式

  5. logback日志文件的使用

    1.引入Jar包,Maven pom.xml <!-- Logging with SLF4J & LogBack --> <dependency> <groupI ...

  6. iOS开发系列-iOS适配

    概述 发布iPhone X 系统版本为iOS11, 由于刘海屏原因需要对新的机型做适配. iPhone X safeArea iOS11苹果提出safeArea替代iOS7引入 topLayoutGu ...

  7. DataList做一个相册,并可以上传图片

    1.前台代码 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="DataLis ...

  8. lnmp高人笔记

    http://www.cnblogs.com/qizekai/p/5878774.html http://www.cnblogs.com/qizekai/p/5879461.html

  9. codeforces 1180E Serge and Dining Room 线段树

    题目传送门 题目大意: 给出a序列和b序列,a序列为各种食物的价格,b序列为一列排着队的小朋友拥有的钱,小朋友依次购买食物,每个人都买自己能买的起的最贵的食物,买不起就离开队伍.给出q次操作,操作1是 ...

  10. Android开发 View_自定义圆环进度条View

    前言 一个实现,空心圆环的自定义View,已经封装完好,可以直接使用. 效果图 代码 import android.content.Context; import android.graphics.C ...