C++STL
youthinkwu
这个作者很懒,什么都没留下…
展开
-
HDU 1272 小希的迷宫
题意:给出一个图,问是否是一棵树。 做法:边和点的关系是点的个数等于边的个数+1;坑点在于当点和边都是0的时候,也输出yes。#include <iostream>#include <cstring>#include <cstdio>#include <algorithm>#include <set>using namespace std;int main(){ int a,b原创 2015-02-20 20:00:12 · 203 阅读 · 0 评论 -
POJ 2503 Babelfish
题意:给出单词组,然后询问第二个单词,输出第一个单词。如果单词不存在输出eh;单词组的读入以空行作为结束符。这个读入比较麻烦。 解法:map搞一搞。#include <iostream>#include <cstring>#include <cstdio>#include <string>#include <map>using namespace std;map <string,str原创 2015-02-20 20:05:41 · 197 阅读 · 0 评论 -
CodeForces 274A k-Multiple Free Set
这题大意是给出n个数和倍数k,把这些数尽可能的装到一个集合里,使得集合中任意两个数之间不存在k倍数关系。求这个集合最多的元素个数。 做法:将数字排个序,从头开始插入set中,插入的时候判断集合中有没有他的倍数的数,有的话就不插入,没有就插入。比如a,先看有没有a*k这个数,没有的话再看a/k这个数,但是如果a不整除k的话也可以直接插入,整除就判断a/k是否在集合中。#include<cstdio>原创 2015-02-14 20:52:17 · 618 阅读 · 0 评论 -
HDU 4585 Shaolin
这题大意是有一个庙里,每个和尚都有自己的编号和自己的战斗力,1号战斗力最碉10^9这么大,每个入庙的和尚都要和自己战斗力相近的人战斗,如果有两个跟他战斗力相近,他选战斗力比他低的那个。现在告诉你和尚入庙顺序,问和尚的打斗顺序。 想法:这题可以用map搞一搞,用战斗力作为map的键值,然后查找与他相近的和尚。比较就可以知道他跟谁打了。#include<cstdio>#include<iostrea原创 2015-02-14 21:12:16 · 312 阅读 · 0 评论 -
POJ 1146 ID Codes
这题就是就一个字符串的下一个排列。 用好STL,就会是问题变得简单。 next_permutation 求下一个排列。 pre_permutation 求上一个排列。#include<cstdio>#include<iostream>#include<cstring>#include<algorithm>using namespace std;int main(){ cha原创 2015-02-14 21:29:57 · 287 阅读 · 0 评论 -
47. Permutations II LeetCode
题意:给出num数组,求所有的不重复的全排列。 题解:我用的STL,当然也可以dfs写。class Solution {public: vector<vector<int>> permuteUnique(vector<int>& nums) { vector<vector<int>> ans; sort(nums.begin(),nums.end());原创 2016-03-15 23:03:45 · 224 阅读 · 0 评论 -
31. Next Permutation LeetCode
题意:求下一个全排列。 题解:STL——next_permutationclass Solution {public: void nextPermutation(vector<int>& nums) { next_permutation(nums.begin(),nums.end()); }};原创 2016-03-16 15:11:06 · 198 阅读 · 0 评论 -
34. Search for a Range LeetCode
题意:给出一个排好序的数组,求target出现的起始位置和结束位置。 题解:用STL就能很方便的解决,lower_bound 和 upper_bound. 如果两个值相等,说明没有出现这个值。class Solution {public: vector<int> searchRange(vector<int>& nums, int target) { int low =原创 2016-03-07 22:48:22 · 224 阅读 · 0 评论