day1:

8:20分还不知道考场在哪给ccf差评

8:30开始看题

第一题感觉是个模拟啊 很烦

瞄了一眼第二题第三题题意挺简单的啊感觉还不错

然后开始仔细看t1

然后我发现好像可以退狮子 应该是个数学题

推了半个小时的式子 我发现这个就是(a1+a2...+an)/1+(循环和x1x2)/2+...

然后以为自己很机智的开始dp了

发现是个背包

可以cdq分治一下 就是n^2logn

然后花了2:30 搞完了t1

出考场后立马觉得我是个傻逼

出成绩后就觉得更加傻逼了

然后看t3

前10分暴力dfs

20pits暴力+判重吧

然后我觉得可能还有几分可以搞

打了表看了一下还有5分是2^n

在后面的规律我好像不太看得出来 就弃疗了

(事实证明还是正确的然而并没什么用)

开始看t2

啊送50分么??

我仔细算了一波?? 这是卡n^2logn的节奏啊

lca可以O(1)??

想了一下就否定了。。(啊啊啊我怎么没学过离线o(1)啊)

然后想了半个小时

发现可以f[x][y]记录一下

以为做出来了

发现空间又炸了

然后我机智(傻逼)的发现可以只记录一半

然后开始码 码了半个小时 发现空间依旧会炸

离考试结束还有半个小时

我去 坑啊 后面链显然可以搞的分我还没想啊 哎

以防爆0 我决定写稳一点的倍增lca

然后10分钟写完通过样例找了两个错就过了大样例

出考场就发现凉了

day1t1 那个傻逼dp人人都会啊 推什么傻逼dp式子啊

还有背包可以直接还原啊 你还多一支log

day1t2 你不会O(1)你写树剖照样跑的飞快啊??

dayt3 也没什么好说的 反正我水平也就这么点了

说好的3点出成绩

4点才出

t1果然炸了70,t2 30,t3 25

然后我听说t1 cdq能过??

进去看了一番代码

我日 我把l=l+1 写成 mid=l+1 这不是炸成暴力么???

感觉100 45 25人人都会

day2:

宾馆里呆了一天,集训队答辩估计我也听不懂就不去了

晚上莫名开始做noi2017d1t1

压位+线段树我会啊。。

我想试下裸的能拿多少分

写完发现提交上去莫名wa

原来我有个特判导致范围少了1-2 所以要把最大范围+2

然后发现 我就卡在了56

看了一波别人发现有人裸的线段树70啊。。

发现有两个点被卡空间,两个点被卡时间(还有的点可能不是给裸线段树拿的)

和室友讨论了一波并不是很理解。。

就睡觉了

updata day3:仔细看了一下发现对于最后一层不用记录它的最小0/1位置啊

这种空间/2啊 。。。好简单好有用啊。。。

day3:

听说有题答本来挺开心的。。。然后 就因为这题凉了。。

t1巨水啊。。。

先看暴力 二分就下暴力判断

然后我害怕做不出来看了两档部分分

印象好像一档乱搞一档也是主席树吧

然后我想了一下正解发现是个傻逼题主席树

第一维按美味,第二维按价格排一下

半个小时写完今天感觉不错啊

一发过了2个小样例

哎呀a了a了

大样例一测 wtf??

wa了无数个点

有点方啊

肉眼看了3遍无果好吧我写对拍

30分钟写完对拍

拍拍拍 拍不出来啊

又拍拍拍 还是拍不出

啊拍出来了 我去我数据生成器生成了0

不符合题目要求

再改再拍。。。。。

到11:20 啊我拍出来了

搞出数据调调调 啊过了

再测大样例 我日??? 又wa 还是一片

又拍拍拍了20分钟

我去怎么还是这里错 ??? 再改终于过了大样例

啊已经11:40了

看t2 看了10分钟题目看不懂啊???

zhx路过,正好问了一波题目哦原来,是用来分割数字的啊

啊我好像会打20暴力啊??

啊我好像会打链啊???

然后想了一下好像很对啊开始打

这暴力有点难打啊?? 判断起来好麻烦啊

直接打链吧??

我日规则怎么可以加,的????

然后t2就这么爆零了

开题答

我日怎么只有一个小时多一点了啊啊??

看懂题目花了10分钟。。研究那个判断器花了10分钟。。

还有40分钟

我想了一下我好像不太会自己计算它花费时间。。。

就算会可能这点时间也码不出来了吧

爬山用不了了

那就手玩吧。。。

应该这种题最高分也就40吧(事实就是这在扯淡)

手玩了20多分钟第1个点,啊233333333 a了啊???

开始玩第二个点,乱搞了一波拿了4分

然后 好像每个点都有送分啊

离结束还有15分钟

写了个程序随机了一波 然后发现还有10分钟

我随便挑了个点看看

发现随机的有3分啊???

我点开数据一看 我日这他妈不是链么

那dp随便搞啊???

然后 考试就结束了

开始意识到后面的点可能就是傻逼

出来交流了一下发现t3各种爬山最少的也有40。。

凉了凉了

最后70 30 25 100 0 27=252

可能比ag低10-20左右吧

其实拿满很可能就有au吧

100 45(+20)25 100 0 50(+10)

贴一下t1

#include <bits/stdc++.h>
using namespace std;
#define IL inline
#define rint register int
#define ll unsigned long long
const int N=2e5+1e4;
const int N2=1e5+100;
struct re{
int a,b,c;
}a[N];
int ph[N*20],pt[N*20],root[N],n,m;
ll pnum[N*20],pcost[N*20],g,l;
int cnt;
IL bool cmp(re x,re y)
{
return(x.a<y.a);
}
#define mid ((h+t)>>1)
void insert(rint last,rint &now,rint k,rint h,rint t)
{
now=++cnt;
if (h==t)
{
pcost[now]=a[k].b; pnum[now]=pnum[last]+a[k].c; return;
}
ph[now]=ph[last]; pt[now]=pt[last];
pcost[now]=pcost[last]+1ll*a[k].b*a[k].c;
pnum[now]=pnum[last]+a[k].c;
if (a[k].b<=mid) insert(ph[last],ph[now],k,h,mid);
else insert(pt[last],pt[now],k,mid+1,t);
}
bool query(rint last,rint now,rint h,rint t,ll g,ll l)
{
if (h==t)
{
if (l<=pnum[now]-pnum[last]&&l*pcost[now]<=g) return(1); else return(0);
}
ll tj=pnum[ph[now]]-pnum[ph[last]],hf;
if (mid!=h) hf=pcost[ph[now]]-pcost[ph[last]];
else hf=(pnum[ph[now]]-pnum[ph[last]])*pcost[ph[now]];
if (tj>=l)
return(query(ph[last],ph[now],h,mid,g,l));
else
{
if (g>=hf) return(query(pt[last],pt[now],mid+1,t,g-hf,l-tj));
else return(0);
}
}
IL bool check(rint x)
{
if (query(root[x-1],root[n],1,N2,g,l)) return(1);
else return(0);
}
int main()
{
freopen("juice.in","r",stdin);
freopen("juice.out","w",stdout);
ios::sync_with_stdio(false);
cin>>n>>m;
for (rint i=1;i<=n;i++) cin>>a[i].a>>a[i].b>>a[i].c;
sort(a+1,a+n+1,cmp);
for (rint i=1;i<=n;i++)
insert(root[i-1],root[i],i,1,N2);
for (rint i=1;i<=m;i++)
{
//ll g,l g rmb l sheng
cin>>g>>l;
rint h=1,t=n;
while (h<t)
{
rint mid2=(h+t+1)/2;
if (check(mid2)) h=mid2; else t=mid2-1;
}
if (h==1&&!check(1)) cout<<-1<<endl;
else cout<<a[h].a<<endl;
}
// cout<<cnt<<endl;
return 0;
}

ctsc2018的更多相关文章

  1. LOJ2557. 「CTSC2018」组合数问题

    LOJ2557. 「CTSC2018」组合数问题 这道题是我第一道自己做完的题答题.考场上面我只拿了41分,完全没有经验.现在才发现其实掌握了大概的思路还是不难. 首先模拟退火,通过了1,2,6,9, ...

  2. 【CTSC2018】暴力写挂(边分治,虚树)

    [CTSC2018]暴力写挂(边分治,虚树) 题面 UOJ BZOJ 洛谷 题解 发现第二棵树上的\(LCA\)的深度这玩意没法搞,那么枚举在第二棵树上的\(LCA\). 然后剩下的部分就是\(dep ...

  3. [CTSC2018]暴力写挂——边分树合并

    [CTSC2018]暴力写挂 题面不错 给定两棵树,两点“距离”定义为:二者深度相加,减去两棵树上的LCA的深度(深度指到根节点的距离) 求最大的距离. 解决多棵树的问题就是降维了. 经典的做法是边分 ...

  4. BZOJ5343[Ctsc2018]混合果汁——主席树+二分答案

    题目链接: CTSC2018混合果汁 显然如果美味度高的合法那么美味度低的一定合法,因为美味度低的可选方案包含美味度高的可选方案. 那么我们二分一个美味度作为答案然后考虑如何验证? 选择时显然要贪心的 ...

  5. loj#2552. 「CTSC2018」假面

    题目链接 loj#2552. 「CTSC2018」假面 题解 本题严谨的证明了我菜的本质 对于砍人的操作好做找龙哥就好了,blood很少,每次暴力维护一下 对于操作1 设\(a_i\)为第i个人存活的 ...

  6. CTSC2018&APIO2018游记

    CTSC2018&APIO2018游记 Day 0 傍晚出发,从长沙通往帝都的软卧哟. 然而长沙某中学坐高铁比我们晚出发还早到 Day 1 为了正经地写游记我决定忍住不在博客里吐槽酒店. 午饭 ...

  7. [Bzoj]5343: [Ctsc2018]混合果汁

    5343: [Ctsc2018]混合果汁 题目描述 小 R 热衷于做黑暗料理,尤其是混合果汁. 商店里有 \(n\) 种果汁,编号为 \(0,1,\cdots,n-1\) .\(i\) 号果汁的美味度 ...

  8. BZOJ5340: [Ctsc2018]假面

    BZOJ5340: [Ctsc2018]假面 https://lydsy.com/JudgeOnline/problem.php?id=5340 分析: 背包,只需要求\(g_{i,j}\)表示强制活 ...

  9. [LOJ#2553][CTSC2018]暴力写挂

    [LOJ#2553][CTSC2018]暴力写挂 试题描述 temporaryDO 是一个很菜的 OIer .在 4 月,他在省队选拔赛的考场上见到了<林克卡特树>一题,其中 \(k = ...

  10. CTSC2018 & APIO2018 颓废 + 打铁记

    CTSC2018 & APIO2018 颓废 + 打铁记 CTSC 5 月 6 日 完美错过报道,到酒店领了房卡放完行李后直接奔向八十中拿胸牌.饭票和资料.试机时是九省联考的题,从来没做过,我 ...

随机推荐

  1. Java编程思想 学习笔记1

    一.对象导论 1.抽象过程 Alan Kay曾经总结了第一个成功的面向对象语言.同时也是Java所基于的语言之一的Smalltalk的五个基本特性,这些特性表现了纯粹的面向对象程序设计方式 1)万物皆 ...

  2. C#窗口防止闪烁两种方法

    public class PaintIncrease { public static void SetDoubleBuffered(object obj) { Type type = obj.GetT ...

  3. java Future模式的使用

    一.Future模式的使用. Future模式简述 传统单线程环境下,调用函数是同步的,必须等待程序返回结果后,才可进行其他处理. Futrue模式下,调用方式改为异步. Futrue模式的核心在于: ...

  4. 四、u-boot 链接脚本

    4.1 C语言中的段 编译器在编译程序的时候,将程序中的所有的元素分成了一些组成部分,各部分构成一个段,所以说段是可执行程序的组成部分. 代码段:代码段就是程序中的可执行部分,直观理解代码段就是函数堆 ...

  5. div背景半透明

    例子: html: <div class="erp-mask-a" > <div class="erp-mask-cell-a"> he ...

  6. gulp+webpack构建配置

    使用构建工具之前我觉得前端好蠢,css没有变量,不能写循环,为了兼容要写好多前缀,hmtl写多页面中有同一个header,我就粘贴复制,然后修改的时候每个都要改. 我还不会压缩和合并,每次都要按F5刷 ...

  7. POJ3694 Network【连通分量+LCA】

    题意: 一个无向图可以有重边,下面q个操作,每次在两个点间连接一条有向边,每次连接后整个无向图还剩下多少桥(注意是要考虑之前连了的边,每次回答是在上一次的基础之上). 思路: 首先运行一次Tarjan ...

  8. python - getattr 与 getattribute 机制

    #__getattribute__ class Foo(): def __init__(self,name): self.name = name def __getattr__(self, item) ...

  9. 2017-2018-2 165X 『Java程序设计』课程 助教总结

    2017-2018-2 165X 『Java程序设计』课程 助教总结 本学期完成的助教工作主要包括: 编写300道左右测试题,用于蓝墨云课下测试: 发布博客三篇:<2017-2018-2 165 ...

  10. Box-Muller 与 ziggurat

    1. Ziggurat 算法与 Box-muller 算法的效率比较 2. Box-Muller a. 一般形式 因函数调用较多,速度慢,当u接近0时存在数值稳定性问题 先假设. 用Box-Mulle ...