题意 给一个只有1和2的序列,每次询问有没有一个子串的和为x ( 1≤n,m≤1 000 000 )kkk ( 1≤k≤2 000 000 ) 题解 我觉得是道好题. 主要是证明一个性质:假如有一个字串的和为偶(奇)数,那么小于这个偶(奇)数的所有偶(奇)数一定等于这个串的某个字串的和. 我们考虑这个串的边界l,r 假设l==1,r==1那么l++,r--,和可以减2 假设l==2,r==1那么l++,和可以减2: 假设l==1,r==2那么r--,和可以减2: 假设l==2,r==2那么l++…
题目链接 本来觉得这不是经典的贪心吗..果断水一次,wa了,看了看discuss,发现貌似不好水,土土的DP了一下,复杂度很高了,又T了...然后想想单调队列,二分什么的...不好往上加,直接搞了标记数组flag,暴力从大到小,遍历寻找,然后就过了...这算是优化吗,瞎搞... #include <cstring> #include <cstdio> #include <string> #include <iostream> #include <alg…
Problem H. Horrible Truth Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/100610 Description In a Famous TV Show “Find Out” there are n characters and only one Horrible Truth. To make the series breathtaking all way long, the sc…
链接:https://www.nowcoder.com/acm/contest/104/B来源:牛客网 题意:A few days ago, WRD was playing a small game called Salty Fish Go. We can simplify the rules of the game as follows. 给你v,l,n,m代表有v个速度,下一行分别给出v个速度,l长的路,n个随机地点随机改变速度的加油站,m个随机地点宝藏.问拿到所有宝藏的时间期望. 题解:瞎…
题目链接:点我 题意:给定一个序列,询问是否能删除一个数让它成为非递减或者非递增的序列. 比如说 删除后的序列是1 3 3 5 或者5 3 3 1 或者1 3 5 或者5 3 1 都可以.只要满足删掉某个数,构成非递减或者非递增,就输出YES,如果不能就输出NO 正解(LIS求最长上升子序列): 正着来一遍,反着来一遍 注意要用upper_bound即可: 代码: #include<bits/stdc++.h> using namespace std; int Maxlen(int a[],i…
传送门 (<---可以点击的~) 时间限制(普通/Java):1000MS/3000MS     内存限制:65536KByte 描述 有些英语单词后缀都是一样的,现在我们需要从给定的一堆单词里面找出某个后缀的单词个数. 输入 输入有多组数据.每组第一行输入n,m,0<=n,m<=100000,第二行到n+1行:输入单词,每个单词仅有小写英文字母组成,长度不超过10.第n+2行到n+m+1行,输入要找的单词后缀. 输出 在n个单词里面找出输入单词后缀的单词个数,然后输出.每个数据与数据之…
B. Cards 题目连接: http://www.codeforces.com/contest/626/problem/B Description Catherine has a deck of n cards, each of which is either red, green, or blue. As long as there are at least two cards left, she can do one of two actions: take any two (not ne…
安装ubuntu系统后有很多东西需要自己瞎搞一下,这里把一些瞎搞的过程记录在这里,方便以后重新装系统后重新配置. 一.安装. 可以在windows下制作启动盘(软碟通),然后开机u盘启动即可安装,预留出50G大小的硬盘差不多了. 安装过程中预留4G的交换空间,剩余的直接挂在到:/ 下即可: 其它的东西基本上不需要动了. 下面是基础的软件安装: 二.vim 安装命令: sudo apt-get install vim vim的基础配置:vim ~/.vimrc "=================…
题意: 百度. 思路: 如果该查询的R比前面的所有都大,那么前面所有都失效. 那么我先预处理出这些有效的. 那最坏的情况不就是栈里面元素(R)很多 n,n-1,n-2,n-3,n-4而且都是相反排序的... 总不能每次都那样循环一下,跟着他变吧. 所以找特性: 如果有序列132456 我的栈是 1 6 2 5 1 3 2 2 那么第一步从sort完:123456,那么这个a[6]=6肯定是确定了对吧. 继续看 2 5:我们能确定 a[5]=1,a[4]=2 对吧 继续看1 3 :我们能确定a[3…
分别记录J,O,I,的个数 cnt[char][i] 表示处理到第i位,char的个数 显然当且仅当 cnt[J][i] - cnt[O][i] == cnt[J][j-1] - cnt[O][j-1]  &&  cnt[O][i] - cnt[I][i] == cnt[O][j-1] - cnt[I][j-1] 时 i到j位是一个长为i-j+1的合法串 于是把状态压到一个 long long 里 map瞎搞就行 没去掉调试输出导致WA了四次QAQ #include<cstdio&g…
题意:略(忙着准备文化课...明天期中考啊.... 思路: 正解就是染色,2-sat搞: AC代码(虽然是错误的...数据水(过踏马的也行啊,起码打脸他啊!) 4 3 1 0 1 2 2 3 3 4 4 这个就挂了: #include <bits/stdc++.h> using namespace std; typedef long long LL; const int MAX=1010; const double q=(1+sqrt(5.0))/2.0; const double eps=1…
瞎搞题啊.找出1 1 0 0这样的序列,然后存起来,这样的情况下最好的选择是1的个数除以这段的总和. 然后从前向后扫一遍.变扫边进行合并.每次合并.合并的是他的前驱.这样到最后从t-1找出的那条链就是最后满足条件的数的大小. Room and Moor Time Limit: 12000/6000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others) Total Submission(s): 307    Accepted…
题目链接 传送门 题意 你有\(n\)只怪,每只怪的伤害为\(a_i\),对手有\(m\)只怪,每只怪的伤害为\(b_i\),对手的怪有普通状态和防守状态(普通状态:如果你用攻击力为\(a_i(a_i\geq b_j)\)的怪去攻击对手第\(j\)只怪将会给对手造成\(a_i-b_j\)的伤害:防守状态则不会造成\(a_i-b_j\)的伤害),每只怪只能使用一次,怪一旦死亡就会消失. 用攻击力为\(x\)的怪去打攻击力为\(y(x\leq y\),\(x\geq y\)的情况上面说了\()\)的…
[JZOJ5281]钦点题解--瞎搞+链表 题目链接 于 暴 力 过…
彭博社今日消息,知名芯片制造商 Broadcom 公司正在就收购网络安全公司 Symantec 事宜进行高级会谈,因为 Broadcom 希望寻找半导体业务之外的机会,以实现多元化经营. 据称,在彭博社报道这则消息后,Symantec 的股价飙升了 22%,高达 27.35 美元,而 Broadcom 的股价则下跌 4%. 近年来,由于云安全公司正在抢占企业市场的份额,并且出现了一些新兴公司提供移动安全方案,面对竞争压力,Symantec 一直受到管理层动荡和核心业务被压制的困扰. 由于 Sym…
题意: 给n个整数(可能有重复),输出一个不超过n次交换的方案,使得经过这n次交换后,整个序列正好是非递减的. 分析: 首先说题解给的算法. 从左到右扫一遍,交换第i个数和它后面最小的那个数. 代码看起来大概是这个样子的: ; i < n; i++) { int j = i; for (int t = i; t < n; t++) if (a[j] > a[t]) j = t; if (i != j) answer.push_back(make_pair(i, j)); swap(a[i…
题目: Description standard input/outputStatements Little Liesbeth likes to play with strings. Initially she got a string of length n, consisting of letters 'a' only. Then Liesbeth performs next operations with the string: If the first letter of the str…
http://codeforces.com/gym/226123/problem/L 题解:手摸几组数据,发现一个规律:将n 质因数分解,答案就是 每个质因数/2+1后再乘起来. 然后考虑2的情况: 2 8 16 32 64 1 5 9 15 25 发现 2,16 要特判  另外8的因子对应乘5 交上去又发现表格填错了,2 对应的是2 不是1  然后就AC了. 正常做法是dfs #define _CRT_SECURE_NO_WARNINGS #include<cmath> #include&l…
找到规律,各一个种一棵树.或者施肥.先施肥,先种树一样. Apple Tree Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others) Total Submission(s): 197    Accepted Submission(s): 135 Problem Description I've bought an orchard and decide to plant some…
题意:给定长度为N的01串,现在让你猜这个串,猜的次数要不超过N+500次. 每次你猜一个串,系统会返回N/2,或N,或0.当且当有N/2个位置猜对,N个位置猜对,其他. 思路:因为信息不多,没有关联性,所以前期只有瞎猜,直到猜到一个N/2,(如果是N也ok).猜到N/2之后,我们从这个N/2串考虑,有一半的位置是对的,有一半的位置是错的,那么我们先把第一位取反,后面挨个去取反验证,假设取反第i位,输出N/2,说明第i位和第1位正确性相反,否则相同.那么验证完后,只有两种情况,第一位是对的,第一…
题意: 给你一幅图,你要用这些边构造一个树, s和t两个节点的度数不能超过ds dt 而且图是保证没有环 思路: 树的性质是:无环(已经保证),无向(保证),连通(还要判断) 首先把S,T点从图里剥离出来,就是把除S和T点搞成几个连通块 对于这些连通块有三种:只与S连的,只与T连的,还有一种是两个都连的, 然后就是要把S和T与那些连通块相连,保证连通. 由于对于S和T相连的点并不是连通块的老大,而且S和T连出去的点还可能同时在一个连通块里: 所以预处理一下S和T连接点的老大,塞到set里去去个重…
哇咔咔,挂完. 靠着hack的100分挂在了rank167... 就是memset的问题,超时了:用map好了.. 思路: 标记a串以当前值为尾的上升子序列长度,然后还是搞b串,每次判一下当前值在a串是否有,有的话取小的和ans比较取大: #include <iostream> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <algorithm> #incl…
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1002 这种题真是有毒,很多叼一点的都用matrix tree定理推出了递推公式,也有一些用好几维递推也可以解,然而我一个都看不懂.总结:下次遇到这种题就直接打表找规律,这是坠吼滴! #include <cstdio> #include <cstring> const int maxn = 105, mod = 10000; int n; struct gao { int da…
题目链接:https://codeforc.es/contest/1202/problem/B 题意: 给你一串数,问你插入最少多少数可以使x-y型机器(每次+x或+y的机器,机器每次只取最低位--%10)产生这个子序列. 解: 这题真的是...唉我真的,还是怪自己太弱吧,比如08888,8和前一个8相同的话你必须让机器输入东西(不能看着这串数反正都是一样就不输入). 就是预处理x-y型每次加(0~9)最少需要多少次就行了,刚上蓝就rank1900+,以后多多磨练吧. #define IOS i…
题面 其实这道题不用组合数!不用容斥! 只需要一个gcd和无脑找规律(滑稽 乍一看题目,如果单纯求合法三角形的话情况太多太复杂,我们可以从局部入手,最终扩展到整体. 首先考虑这样的情况: 类似地,我们把三角形三个顶点都在网格边界上,且网格内任意一条线都可以把三角形切成两部分的情况,称为完全覆盖. 下面这种就不算: 不难发现每个顶点在格点上的三角形,都有且仅有一个被它完全覆盖的网格. 所以可将原问题转化为:求出矩形中所有子矩形的完全覆盖三角形数. 又因为完全覆盖三角形数只与子矩形大小有关,与其位置…
Codeforces 题目传送门 & 洛谷题目传送门 蠢蠢的我竟然第一眼想套通项公式?然鹅显然 \(5\) 在 \(\bmod 10^{13}\) 意义下并没有二次剩余--我真是活回去了... 考虑打表找规律(u1s1 这是一个非常有用的技巧,因为这个 \(10^{13}\) 给的就很灵性,用到类似的技巧的题目还有这个,通过对这些模数的循环节打表找出它们的共同性质,所以以后看到什么特殊的数据或者数据范围特别大但读入量 \(\mathcal O(1)\) 的题(比如 CF838D)可以考虑小数据打…
题意:每个用户对数据库的查询请求都会首先用该数据库的服务器序列的第一个去执行任务,若第一个坏了,就由第二个执行.最多只会坏一个服务器.要求是考虑最多坏一个的情况下,所有服务器中执行用户查询的数目最大值与最小值之差不能超过1. 思路: 对于n>=m的情况,很容易能解决掉,关键是n<m就不好处理了.我的方法应该是最挫的,直接先给确定每个序列的第一个数字为1~~n的循环.第二个就每次放一个数,用贪心判断是否合法,合法就在放下一个序列的第二个数. #include<iostream> #i…
题目地址:http://codeforces.com/contest/459/problem/C C. Pashmak and Buses time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Recently Pashmak has been employed in a transportation company. The com…
比赛时愣是没读懂 题意:有N 个城市 每一个城市都有 val 个 士兵 , 有几条路连接 当敌方攻击你的某个城市时 该城市以及与该城市相连接的城市的士兵总数 要大于 K 不大于 K 该城市就被攻陷.士兵被俘虏 则不能支援别的城市 求最后一共同拥有多少城市不被攻陷.以及士兵总数 思路:先计算该点能支援到的总士兵数 然后将  总数小于 K  的取出     减去相连的城市上的总士兵数 直到剩下的点都大于K #include <cstdio> #include <cstring> #in…
题目大意:有n辆火车,按一定的顺序进站(第一个字符串顺序),问是否能按规定的顺序出站(按第二个字符串的顺序出去),如果能输出每辆火车进出站的过程. 题目思路:栈的特点是先进后出,和题意类似,还有有一种情况是:开进来立马有开出去.并用vis[]数组的0,1标记进出站情况. 具体看代码 #include<cstdio> #include<cstring> #include<cmath> #include<queue> #include<algorithm&…