-
题目链接 题意: 给出由小写字母,'?'和'*'组成的字符串s,仅由小写字母组成的字符串t,问按照规则s能否变成t. 规则如下:首先给出定义的[好字母]的字符串,[好字母]之外的都是[坏字母],对于s中每个‘?’,规定其必须替换为一个[好字母] 对于s中的每个‘*’,规定其必须替换为0个或者多个坏字母。 思路: 显然带的会比较难搞。所以只说带的情况 我WA了好多次,原因是一开始读错题(或者题意不太清楚?),认为*只能最多替换一个[坏字母] 后来在这个思路上改,越改越复杂orz 仔细想一下,关键点有两个,一个是当前位置有三种情况{没有经过*,经过且仍在的作用域内,经过且已经出了的作用域} 如何知道的作用域呢?由于的替换是连续的,因此只 …
Read More -
题目链接 题意:求一棵二叉树中,所有一段连续路径之和等于给定值的路径数目。 思路:想了半天就只能想到暴力。。。复杂度大概O(n^2)。。。也不是不可以接受。。。但是感觉这也太暴力了。。就去看了题解。。。发现题解就还真是暴力orz。。。 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ class Solution { //思路:枚举每个起 …
Read More -
题目链接 题意:一段数字串,如果一个数字k满足,将该串分成若干个长度为K的子串,这些子串两两满足每个字符出现的次数一样多,那么称为k是一个阿贝尔周期。现在问所有合法的阿贝尔周期。 思路: * 首先我们发现,所有的阿贝尔周期一定是数字串长度(设为n)的因数。 * 然后我们还发现。。。如果某个因子是阿贝尔周期,那么该因子的整数倍中恰好也是n的因子的也一定是阿贝尔周期,类似筛法。 * 然后我们还发现。。。最小的阿贝尔周期一定比数字串中的元素个数大。。。 然而其实后面两个不管也可以过吧。。。因为有点忘了n的约数个数的上界了。。。。 还是太保守了。。。 不过hack了四发哈哈哈。。。要是大号的话今天就紫了呜呜呜 /* …
Read More -
题目链接 题意:n个数围成一圈,对于负数可以进行magic操作,也就是取反,但是会影响到左右相邻的,加上这个负数。问最少进行多少次magic操作,使得所有数都是非负。 思路:我们知道,如果一个负数想变成整数的话,只能通过magic 操作。唯一可能影响次数的就是顺序。 不过手动写了几个发现顺序好像无关紧要? 于是大胆猜测,写了发暴力2333。 #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> #include <vector> #include <queue> …
Read More -
题目链接 题意:n个城市,m条双向路,要从k条中选择一个,使得到其他n-k个城市中的某个城市的距离最短。 思路:直接暴力 枚举。1A /* *********************************************** Author :111qqz Created Time :2016年08月20日 星期六 21时02分14秒 File Name :code/cf/#368/B.cpp ************************************************ */ #include <cstdio> #include <cstring> #include …
Read More -
题目链接 。。。这题也能成hack题。。。。有毒啊。。然后我room里所有人都写对了。。。是我看这道题看得太早了? /* *********************************************** Author :111qqz Created Time :2016年08月20日 星期六 21时01分57秒 File Name :code/cf/#368/A.cpp ************************************************ */ #include <cstdio> #include <cstring> #include <iostream> …
Read More -
cf689C 题意:给出一个m。。问恰好使得不超过某个n的a*b^3(a,b是正整数)的方案数为m的n是多少。。。 思路:暴力+二分。。。 /* *********************************************** Author :111qqz Created Time :2016年07月18日 星期一 15时58分55秒 File Name :code/2016whust/G.cpp ************************************************ */ #include <cstdio> #include <cstring> #include …
Read More -
poj 3368 题目链接 题意:给出n个非减的数a[i],求区间[l,r]中出现次数最多的数的出现的次数。 思路:由于数列非减,那么相等的数一定相邻。很容易系哪个到构造另一个数组f[i],表示从当前位置向左边延伸最多延伸几个相等的数。 f[i] = f[i-1] + 1 (iff a[i]==a[i-1]) 然后查询的时候。 如果直接用ST算法查询rmq的话。。。 可能产生错误结果,原因是f[i]是从左边1到i这段连续区间里当前数出现的次数。 但是查询区间不一定是从1开始,所以查询区间内的第一段连续相等的数可能不完整。。。想了半天。。最后看了题解,发现是这部分暴力来搞。但是如果所有数列中所有数都相等,这样的复杂度就达到 …
Read More -
hdu3183题目链接 题意:n位长的数字串(n<=1000),删掉m个(m<=n),使得剩下的数字串表示的数字最小。 忽略前导0. 思路:暴力搞就可以。要注意每位数字是有一定位置的范围的。比如当前是第i位数字,后面还要取n-m-i位数字,那么第i位数字最多只能取到第k位,k=m+i,因为这样才能保证后面还有n-m-i位数字。 /* *********************************************** Author :111qqz Created Time :2016年05月16日 星期一 13时15分44秒 File Name :code/hdu/3183.cpp …
Read More -
1653: [Usaco2006 Feb]Backward Digit Sums Time Limit: 5 Sec Memory Limit: 64 MB Submit: 349 Solved: 258 [Submit][Status][Discuss] Description FJ and his cows enjoy playing a mental game. They write down the numbers from 1 to N (1 <= N <= 10) in a certain order and then sum adjacent numbers to produce a new list …
Read More