
水题练习
AKalone
这个作者很懒,什么都没留下…
展开
-
LeetCode 861 翻转矩阵后的得分
翻转矩阵后的得分题目思路逐列查看,二选一增加总和。代码class Solution {public: int matrixScore(vector<vector<int>>& A) { int n=A.size(); int m=A[0].size(); vector<bool> f(...原创 2019-11-21 01:10:26 · 284 阅读 · 0 评论 -
LeetCode 732 我的日程安排表 III
732. 我的日程安排表 III题目思路边界记录,扫描找最大。代码class MyCalendarThree {public: map<int,int> mp; MyCalendarThree() { } int book(int start, int end) { mp[start]+=1; ...原创 2019-11-21 00:35:06 · 226 阅读 · 0 评论 -
LeetCode 396 旋转函数
旋转函数题目思路递推公式代码class Solution {public: int maxRotateFunction(vector<int>& A) { long long sum=0,f=0,ma; for(int i=0;i<A.size();i++) { sum+=A[i...原创 2019-11-16 17:35:02 · 183 阅读 · 0 评论 -
LeetCode 79 最大回文数乘积
79. 最大回文数乘积题目思路先定n位数的上下限,num为i的正反加和,再用j尝试i能否被分解。代码class Solution {public: int largestPalindrome(int n) { int up=pow(10,n)-1; int down=pow(10,n-1); for(int i=up;i>...原创 2019-11-16 16:56:11 · 119 阅读 · 0 评论 -
LeetCode 11 盛最多水的容器
盛最多水的容器题目思路矮就换,过一遍。代码class Solution {public: int maxArea(vector<int>& height) { int ma=0; int l=0,r=height.size()-1; while(l<r) { in...原创 2019-11-14 23:12:35 · 104 阅读 · 0 评论 -
Codeforces-899C Dividing the numbers
Dividing the numbers题目样例思路相邻四个数字可以分组抵消,所以分四种情况讨论,开头长度不同,后面每四个一组。代码#include<iostream>using namespace std;int main(){ int n; scanf("%d",&n); int t=n%4; int l=n/4; if(t==0) { ...原创 2019-11-10 23:10:36 · 179 阅读 · 0 评论 -
Coreforces-1214C Bad Sequence
Bad Sequence题目样例思路记录’(‘和’)'的数量,考虑出现“)(”特殊情况。代码#include<iostream>using namespace std;int main(){ int r=0,l=0,n; char c; int cnt=0; scanf("%d",&n); getchar(); ...原创 2019-11-10 22:59:25 · 140 阅读 · 0 评论 -
LeetCode 652 寻找重复的子树
寻找重复的子树题目思路map巧妙统计。代码/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), ri...原创 2019-11-09 00:04:16 · 168 阅读 · 0 评论 -
LeetCode 692 前K个高频单词
前K个高频单词题目思路mapj统计,vector<pair<string,int> >排序,最后返回vector< string >。代码class Solution {public: static bool cmp(pair<string,int>& a,pair<string,int>& b) ...原创 2019-11-08 22:52:09 · 140 阅读 · 0 评论 -
LeetCode 1029 两地调度
两地调度题目思路a和b同时贪心。代码class Solution {public: static bool cmp(vector<int> a,vector<int> b) { return a[1]-a[0]<b[1]-b[0]; } int twoCitySchedCost(vector<vect...原创 2019-11-08 20:45:27 · 231 阅读 · 0 评论 -
LeetCode 719 找出第 k 小的距离对
找出第 k 小的距离对题目思路二分思想。代码class Solution {public: int smallestDistancePair(vector<int>& nums, int k) { sort(nums.begin(),nums.end()); int l=0,r=nums.back()-nums.front(...原创 2019-11-07 01:03:35 · 140 阅读 · 0 评论 -
LeetCode 950 按递增顺序显示卡牌
按递增顺序显示卡牌题目思路按输出序模拟放入f数组。代码class Solution {public: vector<int> deckRevealedIncreasing(vector<int>& deck) { sort(deck.begin(),deck.end()); vector<int> ...原创 2019-11-05 22:02:54 · 103 阅读 · 0 评论 -
LeetCode 1079 活字印刷
1079. 活字印刷题目思路先计数,dfs组合枚举。代码class Solution {public: int numTilePossibilities(string tiles) { unordered_map<char,int> num; for(int i=0;i<tiles.size();i++) ...原创 2019-11-05 00:00:00 · 185 阅读 · 0 评论 -
LeetCode 665 非递减数列
非递减数列题目思路左右开弓,两端特殊处理。代码class Solution {public: bool checkPossibility(vector<int>& nums) { int l=nums.size(); int p1=0,p2=l-1; while(p1<p2&&nums[...原创 2019-11-04 08:53:01 · 117 阅读 · 0 评论 -
LeetCode 231 2的幂
2的幂题目思路注意输入为整数,也包括负数。代码class Solution {public: bool isPowerOfTwo(int n) { if(n<=0) return false; if(n&(n-1)) return false; else return true; }};...原创 2019-10-31 00:25:16 · 70 阅读 · 0 评论 -
hdu 1022 Train Problem I
Train Problem I题目样例思路模拟栈水题,利用flag记录出入的方法很巧妙。代码#include<iostream>#include<stack>#include<cstring>using namespace std;int main(){ int n; bool flag[100]; string s1...原创 2019-10-30 00:30:08 · 113 阅读 · 0 评论 -
2008 Asia Regional Beijing Ping pong
Ping pong题目样例思路树状数组提速,对每一个人当裁判时,计算左小*右大+右小 *左大。代码#include<iostream>#include<cstring>#include<cstdio>using namespace std;const int MAX_N=100010;const int maxn=20005;long...原创 2019-10-27 20:54:36 · 437 阅读 · 0 评论 -
ACM-ICPC 2015 Shenyang Preliminary Contest Fang Fang
Fang Fang题目样例思路长度<=2时,直接判断。长度>2时,有c则表示一个串,但是cc或cfc是错误的,因为f2=cff。此外,还要注意输入不一定只有c和f。代码#include<iostream>using namespace std;int main(){ int t; cin>>t; for(int T=1;T&l...原创 2019-10-27 00:32:43 · 124 阅读 · 0 评论 -
2015 ICPC沈阳网络赛 Largest Point
Largest Point题目样例思路使用自定义降序map,分别存入att和b*t及其初始输入顺序,然后分同取最大值和取重两种情况讨论。代码#include<iostream>#include<map>using namespace std;typedef long long ll;struct cmp{ bool operator()(c...原创 2019-10-23 23:41:38 · 1173 阅读 · 0 评论 -
西南科技大学信息工程学院第12届程序设计竞赛网络同步赛 F 上决╇ф人员分配问题
上决╇ф人员分配问题题目样例思路dp[i][j][k]表示前i个人中选j个人能否组合出值为k的情况。代码#include<iostream>#include<cmath>using namespace std;bool dp[35][20][505];int a[35];int main(){ int n; while(scanf("...原创 2019-10-23 20:17:20 · 1437 阅读 · 0 评论 -
北方大学 ACM 多校训练第四场 翻硬币
翻硬币题目样例思路由a[i][j] + row[i] + col[j]推出mp[i][j]-mp[0][j]-mp[i][0]+mp[0][0],边输入边判断。代码#include<iostream>#include<vector>using namespace std;vector<int> mp[1000010];int main(...原创 2019-10-22 20:59:40 · 157 阅读 · 0 评论 -
北方大学 ACM校训练赛第四场 D 积性函数
积性函数题目样例思路因为数据量过大,先进行离散化处理,再依据公式进行暴过一遍。代码#include<iostream>#include<vector>#include<algorithm>using namespace std;int f[2500][60];const int mod=1e4+7;vector<int>...原创 2019-10-22 20:03:33 · 100 阅读 · 0 评论 -
2017 ACM-ICPC 亚洲区(南宁赛区)网络赛 M Frequent Subsets Problem
Frequent Subsets Problem题目样例好像样例输出有问题,我代码运行为10。思路m个子集(S1,S2,S3…Sm)中取一子集Ui,若Ui是Sj的子集的Sj数量>=w*m,则num++。可用状压存储Sj,再用二进制枚举子集法寻找计数。代码#include<iostream>#include<cmath>using namespa...原创 2019-10-22 01:27:15 · 133 阅读 · 0 评论 -
蓝桥杯-程序设计:后缀字符串
蓝桥杯-程序设计:后缀字符串题目样例思路技巧性利用map,将所有可能的后缀提出并计数。代码#include<iostream>#include<vector>#include<map>#include<string>using namespace std;map<string,int> mp;vector<...原创 2019-10-21 08:13:45 · 214 阅读 · 0 评论 -
HDU 3689 Infinite monkey theorem 【DP】
Infinite monkey theorem题目样例代码#include<iostream>#include<cstring>using namespace std;double p[150],dp[1010][20];int to[20][150];int main(){ int n,m; while(scanf("%d %d",...原创 2019-10-20 19:32:20 · 130 阅读 · 0 评论 -
AC Again 【BFS】
AC Again题目样例思路代码#include<iostream>#include<cstring>#include<cstdio>using namespace std;char s[55][55];void bfs(int x,int y){ if(x<=50 && y<=50 &&am...原创 2019-10-20 01:46:41 · 109 阅读 · 0 评论