摘要: 1 int lowbit(int x) { 2 return x & -x; 3 } 4 5 void change1(int x,int d) //单点修改 6 { 7 for (int i = x; i <= n; i += lowbit(i)) { 8 c[i] += d; 9 } 10 } 11 12 int sum1... 阅读全文
posted @ 2019-07-15 21:57 Snow_in_winer 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 问题描述: 给定n个整数(可能有负数)组成的序列a1,a2,...,an,求该序列的最大子段和。如果所有整数都是负数,那么定义其最大子段和为0。 思路: 1.暴力枚举左端点右端点然后求和.O(n^3) 2.预处理前缀和,枚举左端点右端点.O(n^2) 3.类似DP 1 for (int i = 0; 阅读全文
posted @ 2019-07-15 21:13 Snow_in_winer 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 题目描述 You are given a string S of length N. Among its subsequences, count the ones such that all characters are different, modulo 109+7. Two subsequenc 阅读全文
posted @ 2019-07-15 14:22 Snow_in_winer 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 题目描述: There are N stones arranged in a row. The i-th stone from the left is painted in the color Ci.Snuke will perform the following operation zero or 阅读全文
posted @ 2019-07-15 14:16 Snow_in_winer 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 题面: 给定一个非负整数序列,定义区间的分值为=区间和*区间最小值,求出分值最大区间,及最大的分值。 思路: 把每一个数当作最小,看看延伸最左,最右在哪里 单调栈:以左边为例,单调递减 代码: 1 #include<bits/stdc++.h> 2 using namespace std; 3 co 阅读全文
posted @ 2019-07-14 22:21 Snow_in_winer 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 题面 给定两个单词 word1 和 word2,计算出将 word1 转换成 word2 所使用的最少操作数 。 你可以对一个单词进行如下三种操作: 插入一个字符删除一个字符替换一个字符 输入: word1 = "horse", word2 = "ros"输出: 3解释: horse -> rors 阅读全文
posted @ 2019-07-14 21:39 Snow_in_winer 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 题面 给出B地区的村庄数N,村庄编号从0到N-1,和所有M条公路的长度,公路是双向的。并给出第i个村庄重建完成的时间ti​,你可以认为是同时开始重建并在第ti​天重建完成,并且在当天即可通车。若ti为则说明地震未对此地区造成损坏,一开始就可以通车。之后有Q个询问(x,y,t),对于每个询问你要回答在 阅读全文
posted @ 2019-07-14 21:08 Snow_in_winer 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 题面 在一个只包含A、B、C的字符串,有一种操作,可使 “ABC” 变成 ”BCA“,求字符串s的最多操作数。 1≤∣s∣≤200000 思路: 易得,该操作是将A与BC交换位置,可用 1、0分别代表“A”、“BC”。题意转化对一个只包含10的序列,将所有的10更新01,即将所有的0放在1前面。假设 阅读全文
posted @ 2019-07-14 21:06 Snow_in_winer 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 题面: 有N个方块排成一排,从左到右编号为1,2,...,N。给你一个长度为N的字符串S. 和#。如果S的第i个字符是'#',则Square i包含一块岩石; 如果S的第i个字符是'.',则Square i是空的。一开始,Snuke站在Square A上,Fnuke站在Square B上。 你可以多 阅读全文
posted @ 2019-07-14 20:58 Snow_in_winer 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 题面: 首先选择金币数量,然后发牌姬会给你发5张扑克牌,其中2最小,A最大,Joker可以替换成任何牌。根据组成的牌型金币会翻不同的倍数,牌型有如下11种: 无对(No Pair):没有对子,你的金币被发牌姬拿走了;一对(One Pair):一个对子,金币也会被发牌姬拿走;两对(Two Pair): 阅读全文
posted @ 2019-07-14 20:51 Snow_in_winer 阅读(295) 评论(0) 推荐(0) 编辑