2018网络预选赛 青岛 H】的更多相关文章

题目链接:https://pintia.cn/problem-sets/1036903825309761536/problems/1041156323504345088 题意:小明从某一点出发,向右方前进,只有路口是绿灯(用1代表)的时候才可通行,红灯要等待,所有红绿灯每过一秒变化一次(红->绿,绿->红),问从任意一点到该点右边的任意一点的所花费的时间和. 题解:设t(1,n)是从点1到点n所花费的时间,我们可以经过特殊的判断t(1,n)拆分成t(1,a)+t(a,n)+c (c是1,-1,…
设读入的数组是a,树状数组用来维护a数组区间和sum,线段树用来维护一个另一个数组ssum的区间和,区间每个点a[i]*(n-i+1),那么l-r的答案是l-r的ssum-(n-r)*(sum[r]-sum[l-1]) (纸上画一下就知道了) #include<bits/stdc++.h> using namespace std; const int maxn=100010; int n,q,ql,qr,p; long long v,_sum; long long sum[maxn],ssum…
线段树,假设求(x1,y1)点的贡献,就找所有比该点出现时间晚,且x坐标大于x1的点中y最大的,贡献就是Y-y1,由于题目条件限制,不可能有x坐标大于(x1,y1)且y坐标大于y1的点,所以贡献肯定为正. 思路参考了这篇博客:https://blog.csdn.net/qq_39599067/article/details/82560005#accode. #include<bits/stdc++.h> using namespace std; ; struct node{ int x,y;…
传送门 题意: 给出一个只包含小写字母的串 s 和n 个串t,判断t[i]是否为串 s 的子序列: 如果是,输出"YES",反之,输出"NO": 坑点: 二分一直TLE可还行: 具体思路+细节看代码(有点累了,不想写了) AC代码: #include<iostream> #include<cstdio> #include<vector> #include<cstring> using namespace std; #d…
网络预选赛的题目……比赛的时候没有做上,确实是没啥思路,只知道肯定是整数分解,然后乘起来素数的幂肯定是偶数,然后就不知道该怎么办了… 最后题目要求输出方案数,首先根据题目应该能写出如下齐次方程(从别人那里盗的……): a11*x1  ^  a12*x2  ^  ...  ^  a1n*xn=0 a21*x1  ^  a22*x2  ^  ...  ^  a2n*xn=0 ... an1*x1  ^  an2*x2  ^  ...  ^  ann*xn=0,Aij表示选的第j个数的第i个质数(可能…
2018 CCPC 吉林站 H Lovers 传送门:https://www.spoj.com/problems/LIS2/en/ 题意: q次操作 1.将第l~r个数的左边和和右边都加上一个数d, 使得这个数变成 \(ds_id\)的形式 2.询问区间和 题解: 线段树题 这个update操作不好维护,我们来冷静分析一下 对于一个数x,他的长度为len,我们在他后面加上一个数d,那么他的长度就变成了len+1,这个数x就变成了\(x*10+d\) 同理,在前面加上一个数,这个数x就变成了\(d…
传送门:Problem H https://www.cnblogs.com/violet-acmer/p/9664805.html 题意: BaoBao在一条有刻度的路上行走(哈哈,搞笑),范围为 [0,n],且都是整数,在当前刻度i的前0.5米处(i+0.5)有红绿灯s[i+1],s[i+1]='0'代表红灯,s[i+1]='1'代表绿灯,遇到红灯需要等一秒变成绿灯后才可以来到i+1处. 每隔一秒所有的灯都会变色. 且没来到一个新的起点p,所有的灯都会恢复初始状态. 题解: 打表找规律:对于样…
传送门:Problem(B) https://www.cnblogs.com/violet-acmer/p/9664805.html 参考资料: https://blog.csdn.net/qq_40993793/article/details/82762766 https://so.csdn.net/so/search/s.do?q=LCA&t=blog 题意: 给出一棵树,根节点为1. 每条边有一个权值,树上有红色结点m个,其花费为 0 ,其余为黑色,每个黑色结点的花费为其到最近红色祖先的经…
传送门:Problem K https://www.cnblogs.com/violet-acmer/p/9664805.html 题意: 给你n个数,找出满足条件的最多的数的个数. 题解: 满足条件的数的转化为二进制最高位一定相同,否则,肯定不满足条件,此题就转换为最高位相同的二进制数最多有多少个的问题. AC代码: #include<iostream> #include<cstdio> #include<cstring> #include<algorithm&…
A题 A Live Love 原题链接:https://pintia.cn/problem-sets/1036903825309761536/problems/1041155943483625472 #include<bits/stdc++.h> #include<stdio.h> #include<iostream> #include<cmath> #include<math.h> #include<queue> #include&…