前言:

今天考试很迷糊。从7点考到11点半,我大概从7点睡到9点。隐隐约约看到旁边的狗哥敲了好几个题,我才开始写代码。然后因为还是很困,而且T1迷迷糊糊调了好长时间,T3T4的暴力就懒的写了。。。

估分120,实际得分120。

暴力写法如下:

T1 循环依赖

一眼的sb题,然而读入稍有毒瘤。本来以为每个测试点100组数据会很卡时间,于是卡了很长时间的常。然而最后数据并没有卡,差评。

代码:
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef unsigned long long llu;
const int maxn=100000+10,maxm=30000+10;
const llu base=233;
llu ha[maxn];
struct node{
llu data;
int id;
int belong;
}b[maxn];
struct Node{
int to,nxt;
}edge[maxn];
int head[maxm],vis[maxn],dfn[maxn],low[maxn],Stack[maxn];
int n,tool,cnt,tot,top,tim,Time,cnt_scc;
bool flag;
int read(){
int w=0,x=1;
char ch=getchar();
while(ch>'9'||ch<'0'){
if(ch=='-') x=-1;
ch=getchar();
}
while(ch<='9'&&ch>='0'){
w=(w<<1)+(w<<3)+(ch^48);
ch=getchar();
}
return w*x;
}
void add(int from,int to){
edge[++cnt].to=to;
edge[cnt].nxt=head[from];
head[from]=cnt;
}
bool cmp(llu x,llu y){
return x<y;
}
void Init(){
n=read();
top=tool=Time=cnt_scc=cnt=0;
for(int i=1;i<=n;++i){
char ch=getchar();
while((ch>='A'&&ch<='Z')||(ch>='0'&&ch<='9')||ch==' '){
tool++;
while((ch>='A'&&ch<='Z')||(ch>='0'&&ch<='9')){
b[tool].data=b[tool].data*base+ch;
ch=getchar();
}
b[tool].belong=i;
if(ch==' '){
ch=getchar();
continue;
}
}
}
for(int i=1;i<=tool;++i) ha[i]=b[i].data;
sort(ha+1,ha+tool+1,cmp);
tot=unique(ha+1,ha+tool+1)-ha-1;
for(int i=1;i<=tool;++i) b[i].id=lower_bound(ha+1,ha+tot+1,b[i].data)-ha;
int xx;
for(int i=1;i<=tool;++i){
if(b[i].belong!=b[i-1].belong){
xx=b[i].id;
continue;
}
if(xx==b[i].id){
printf("Yes\n");
flag=1;
return;
}
add(b[i].id,xx);
}
}
void Clear(){
memset(Stack,0,sizeof(Stack));
for(int i=1;i<=tot;++i) head[i]=0;
for(int i=1;i<=tool;++i) b[i].data=0;
for(int i=1;i<=tot;++i) dfn[i]=low[i]=0;
}
void tarjan(int u){
if(dfn[u]) return;
Stack[++top]=u;
vis[u]=tim;
dfn[u]=low[u]=++Time;
for(int i=head[u];i;i=edge[i].nxt){
int v=edge[i].to;
if(!dfn[v]){
tarjan(v);
low[u]=min(low[u],low[v]);
}else if(vis[v]==tim) low[u]=min(low[u],dfn[v]);
}
if(dfn[u]==low[u]){
cnt_scc++;
while(Stack[top+1]!=u){
int t=Stack[top];
vis[t]=0;
top--;
}
}
}
void Solve1(){
tim++;
for(int i=1;i<=tot;++i) tarjan(i);
if(cnt_scc!=tot) printf("Yes\n");
else printf("No\n");
}
void Solve(){
int T=read();
while(T--){
flag=0;
Init();
if(!flag) Solve1();
Clear();
}
}
int main(){
freopen("dependency.in","r",stdin);
freopen("dependency.out","w",stdout);
Solve();
return 0;
}

T2 A

这个20分也很简单。。暴力跑就行吧?

我其实是冲着40分去的,因为显然x的值域比询问小,所以排个序就行。。。然而貌似还是会T。

这个。。反正20分还是没啥问题。

代码:


#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn=500000+10;
struct F{
int a,b;
}b[maxn];
int n,q;
struct Q{
int data,id;
}c[maxn];
ll res[maxn];
int read(){
int w=0,x=1;
char ch=getchar();
while(ch>'9'||ch<'0'){
if(ch=='-') x=-1;
ch=getchar();
}
while(ch<='9'&&ch>='0'){
w=(w<<1)+(w<<3)+(ch^48);
ch=getchar();
}
return w*x;
}
bool cmp(Q x,Q y){
return x.data<y.data;
}
ll suan(int x){
ll res=-0x3f3f3f3f3f3f3f3f;
for(register int i=1;i<=n;++i) res=max(res,1ll*b[i].a*x*x+b[i].b*x);
return res;
}
void Solve(){
n=read();
q=read();
for(register int i=1;i<=n;++i){
b[i].a=read();
b[i].b=read();
}
for(register int i=1;i<=q;++i){
c[i].data=read();
c[i].id=i;
}
sort(c+1,c+q+1,cmp);
int last=1000000;
ll ans=0;
for(register int i=1;i<=q;++i){
if(c[i].data!=last){
last=c[i].data;
ans=suan(c[i].data);
}
res[c[i].id]=ans;
}
for(register int i=1;i<=q;++i) printf("%lld\n",res[i]);
}
int main(){
freopen("A.in","r",stdin);
freopen("A.out","w",stdout);
Solve();
return 0;
}

T3 B

emmm...这题的暴力。。。感觉反正硬爆搜肯定没分吧,然后部分分就是推柿子?那和正解有啥区别

感觉总之就是期望的线性性,整个dp吧

[暴力题解&&考试反思] 双十一欢乐赛(联赛膜你测试32)的更多相关文章

  1. 【题解】Comet OJ 国庆欢乐赛 简要题解

    [题解]Comet OJ 国庆欢乐赛 简要题解 A 直接做 B 直接做,结论: \[ ans=\max([Max\ge \mathrm{sum}] Max,s[n]/2) \] C 考虑这样一个做法: ...

  2. 联赛膜你测试20 T1 Simple 题解 && NOIP2017 小凯的疑惑 题解(赛瓦维斯特定理)

    前言: 数学题,对于我这种菜B还是需要多磨啊 Simple 首先它问不是好数的数量,可以转化为用总数量减去是好数的数量. 求"好数"的数量: 由裴蜀定理得,如果某个数\(i\)不能 ...

  3. Comet OJ 2019 夏季欢乐赛题解

    Comet OJ 2019 夏季欢乐赛题解 我是来骗访问量的 A 完全k叉树 \(n\)个点的完全k叉树的直径. 直接做 B 距离产生美 直接做 C 烤面包片 \(n!!!\mod p\) 显然\(n ...

  4. [考试反思]0909csp-s模拟测试41:反典

    说在前面:我是反面典型!!!不要学我!!! 说在前面:向rank1某脸学习,不管是什么题都在考试反思后面稍微写一下题解. 这次是真的真的运气好... 这次知识点上还可以,但是答题策略出了问题... 幸 ...

  5. [考试反思]0816NOIP模拟测试23

    210 210 210 170 还可以.暴力打满就rk4了? 但不管怎么说,总算是在改完题之后理直气壮的写考试反思了. T1是个dp,说水也不太水.(当然某脸只要A掉了一道题就要说那是水题) 我的思路 ...

  6. [考试反思]0801NOIP模拟测试11

    8月开门红. 放假回来果然像是神志不清一样. 但还是要接受这个事实. 嗯,说好听点,并列rank#7. 说难听点,垃圾rank#18. 都不用粘人名就知道我是哪一个吧... 因为图片不能太长,所以就不 ...

  7. [考试反思]0714/0716,NOIP模拟测试3/4

    这几天时间比较紧啊(其实只是我效率有点低我在考虑要不要坐到后面去吹空调) 但是不管怎么说,考试反思还是要写的吧. 第三次考试反思没写总感觉缺了点什么,但是题都刷不完... 一进图论看他们刷题好快啊为什 ...

  8. m74 考试反思

    这次不叫考试题解,叫做考试反思,为什么折磨说,因为这次犯的错误太多了! 事情还要从昨天晚上说起,昨晚放学,班主任来机房说我被子不合格,要停课反思 ###&&¥%#%¥@#%¥#@……% ...

  9. [考试反思]0814NOIP模拟测试21

    前两名是外校的240.220.kx和skyh拿到了190的[暴力打满]的好成绩. 我第5是170分,然而160分就是第19了. 在前一晚上刚刚爆炸完毕后,心态格外平稳. 想想前一天晚上的挣扎: 啊啊啊 ...

随机推荐

  1. RSA及其证明 [原创]

    描述RSA的实现步骤介绍文章非常多,但说明并证明其原理,并进而讨论为什么这样设计的文章不多.本人才疏学浅,不敢说理解了R.S.A.三位泰斗的设计初衷,简单就自己的理解写一写,博大家一笑. 以下原创内容 ...

  2. 【LeetCode】862. 和至少为 K 的最短子数组

    862. 和至少为 K 的最短子数组 知识点:单调:队列:前缀和 题目描述 返回 A 的最短的非空连续子数组的长度,该子数组的和至少为 K . 如果没有和至少为 K 的非空子数组,返回 -1 . 示例 ...

  3. 哪5种IO模型?什么是select/poll/epoll?同步异步阻塞非阻塞有啥区别?全在这讲明白了!

    系统中有哪5种IO模型?什么是 select/poll/epoll?同步异步阻塞非阻塞有啥区别? 本文地址http://yangjianyong.cn/?p=84转载无需经过作者本人授权 先解开第一个 ...

  4. Groovy系列(1)- Groovy简述

    Groovy简述 前言 由于性能测试的JSR223 Sampler取样器需要用到 Groovy 语言,这两天对其进行了粗略的学习,本文是对学习做的一个简单总结,主要内容参考于官方文档(Groovy 的 ...

  5. python刷题第二周

    1: 第3章-5 字符转换 (15 分) 本题要求提取一个字符串中的所有数字字符('0'--'9'),将其转换为一个整数输出. 输入格式: 输入在一行中给出一个不超过80个字符且以回车结束的字符串. ...

  6. 剑指offer计划25(模拟中等)---java

    1.1.题目1 剑指 Offer 29. 顺时针打印矩阵 1.2.解法 常规开头,先判断特殊情况,然后创建四个变量存放矩阵四边的长度限制. 创建res数组存放结果. 循坏开始,遍历完一行或者一列,就将 ...

  7. Fiddler抓包(以谷歌浏览器、安卓手机为例)

    fiddler抓包流程与whistle相同,所以本章内容会相对简洁.如果需要详细说明,可参考whistle抓包. 这里以谷歌浏览器.安卓手机为例. 1.fiddler安装 下载安装包,默认安装. 2. ...

  8. WPF进阶技巧和实战06-控件模板

    逻辑树和可视化树 System.Windows.LogicalTreeHelper System.Windows.Media.VisualTreeHelper 逻辑树类(LogicalTreeHelp ...

  9. Angular 的性能优化

    目录 序言 变更检查机制 性能优化原理 性能优化方案 小结 参考 序言 本文将谈一谈 Angular 的性能优化,并且主要介绍与运行时相关的优化.在谈如何优化之前,首先我们需要明确什么样的页面是存在性 ...

  10. Redis多种数据类型以及使用场景

    SDS简单动态字符串 struct sdshdr { // 记录buf数组中已使用字节的数量 // 等于SDS所保存字符串的长度 int len; // 记录buf数组中未使用字节的数量 int fr ...