ICode9

精准搜索请尝试: 精确搜索
  • 2022-7-12022-07-01 12:03:15

    题目链接:https://leetcode.cn/problems/different-ways-to-add-parentheses/ 个人题解: 首先是DFS深搜来解决 开一个数组,来存数字和字符,取出数字采用双指针即可 DFS递归两边,设置左右两个参数,分别计算 代码: class Solution { public: vector<string> res; vector<int> di

  • 算法篇2022-07-01 12:01:16

    我是一个个人小开发,博客只供自己记录一些技能,以免忘记。勿喷         快速排序实现 1 #include <iostream> 2 #include <vector> 3 4 using namespace std; 5 6 7 void Quicksort(vector<int> &q,int l,int r) 8 { 9 if( l >= r) return; 10 int i = l

  • 高精度2022-06-30 10:05:06

    高精度加法 P1601 A+B Problem(高精) 读入数据时,四种运算均从个位数开始push_back,输出时从vector最高位开始。需要取尾0:减(高位可能被减为0)、乘(乘以0后全为0)、除(得到的结果高位可能为0) vector<int> add(vector<int> a, vector<int> b) { vector<int> c; int t = 0; for(

  • 二分模板2022-06-29 14:35:28

    using namespace std; //二分模板 class Solution { public: vector<int> searchRange(vector<int>& nums, int target) { vector<int> ans={-1,-1}; int n = nums.size(); if(n==0) return ans; //闭区间 int l

  • AcWing 12. 背包问题求具体方案2022-06-28 19:40:37

    想出来一个(目前)不知真伪的写法 从1到n遍历,遇到当前容量(j)下价值(w)更大的方案就把path[j]清空,把path[j-v]转移过来,加上i 遇到当前容量下价值相等的方案就比较path[j-v] + i和path[j]的字典序 题解是从n到1遍历,用二维数组f[i][j]存状态 最后从1到n遍历,判断当前点(i)是否能从i+1

  • vector详解2022-06-28 11:35:34

    ------------恢复内容开始------------ 介绍 向量(Vector)是一个封装了动态大小数组的顺序容器(Sequence Container)。跟任意其它类型容器一样,它能够存放各种类型的对象。可以简单的认为,向量是一个能够存放任意类型的动态数组。 顺序序列 顺序容器中的元素按照严格的线性顺序排序。可

  • Level 1 (day 6)2022-06-28 09:05:13

    第一题 题目链接:https://leetcode.cn/problems/n-ary-tree-preorder-traversal/ 个人题解:DFS 代码: class Solution { public: vector<int> res; vector<int> preorder(Node* root) { dfs(root); return res; } void dfs(Node* root) {

  • 林荫的ACM生涯——Class和Struct的一部分模板2022-06-27 17:02:37

    ------------恢复内容开始------------ 有关Class类 不要用private,否则没办法以X.XX的形式引用 #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #include<cmath> using namespace std; class T_counter { public: T_counter(int x)

  • 力扣-78-子集2022-06-27 11:35:22

    看完感觉跟46-全排列很像,仍旧是回溯法,但是怎么做到四选二、四选三呢 官方题解 题解1,迭代枚举 利用二进制位来实现挑选的思路是没有想到的 class Solution { public: // 为什么变量声明这里要写到外面来 vector<int> t;// 临时数组 vector<vector<int>> subsets(vec

  • AtCoder Beginner Contest 2572022-06-26 02:33:05

    咕咕咕咕咕。 F - Teleporter Setting 题意 给一个有\(n\)个节点\(m\)条边的无向图,边集中有一部分边只确定了一端,记这部分边的集合为\(S\)。 对于\(i = 1, 2, \dots, n\),问当\(S\)中的边的不确定的那一端均为\(i\)时,从点\(1\)到点\(n\)的最短路长度。 其中,\(2 \le n \le 3 \times

  • LeetCode/粉刷房子2022-06-25 01:00:55

    假如有一排房子,共 n 个,每个房子可以被粉刷成红色、蓝色或者绿色这三种颜色中的一种,你需要粉刷所有的房子并且使其相邻的两个房子颜色不能相同。 当然,因为市场上不同颜色油漆的价格不同,所以房子粉刷成不同颜色的花费成本也是不同的。每个房子粉刷成不同颜色的花费是以一个 n x 3 

  • C++容器vector<>相关的基础操作2022-06-22 14:33:13

    C++容器vector<>相关的基础操作 在容器中存入与取出操作:  存入(尾端增加元素):push_back();  取出(尾端删除元素):pop_back(); vector<int> rect_x; int x; rect_x.push_back(x); rect_x.pop_back(x); 应用:在容器中找到:min_element和max_element的位置和大小。   #include <i

  • 三维凸包2022-06-21 09:34:36

    复杂度 \(O(n^2)\),可以处理多点共线、共面的情况 手动处理的共线共面,扰动点的话精度稍微要求高一些就寄了,当然可以扰动完再 random_shuffle( 这里有比较牛逼的数据:https://www.luogu.com.cn/problem/P2287 inline int sign(const double &a){return a>EPS?1:(a<-EPS?-1:0);} struct

  • LeetCode56. Merge Intervals2022-06-20 21:38:07

    题意 给n个区间, 将重叠的区间进行合并 解法 排序 代码 vector<vector<int>> merge(vector<vector<int>>& intervals) { int N = intervals.size(); if (N == 0) return {}; sort(intervals.begin(), intervals.end()); vector<vector<int>&g

  • template2022-06-19 23:04:52

    template basic binary search int bsearch_1 (int l, int r) { int mid = l + r >> 1; while (l < r) { if (check (mid)) { r = mid; } else { l = mid + 1; } } return l; } int bsearch_

  • 剑指 Offer 06.从尾到头打印链表2022-06-18 22:31:20

    输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。 示例 输入:head = [1,3,2] 输出:[2,3,1] 题解 ​ 这道题主体思想是访问链表中的元素并设法倒序输出结果。 方法一:递归法 ​ 利用递归的方法先递推至链表末端,在回溯时依次将节点值加入列表,即可实现链表值的倒序输

  • UVA12186 工人的请愿书 Another Crisis (树形DP)2022-06-18 08:31:07

    dp[i]表示要让i向上级发请愿书,最少需要多少个工人递交请愿书,因为要取前T%最小的,所以还要将i的子节点排序(这里用vector实现),取前c个最小的作为dp[i]的值。 这里用dfs可以省去dp数组,用返回值的方式实现。 1 #include<cstdio> 2 #include<cstring> 3 #include<vector> 4 #include

  • LeetCode/寻找两个正序数组中位数2022-06-17 23:00:35

    给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的中位数 1. 辅助空间暴力法 将两数组合并,分奇偶取中位数 class Solution { public: double findMedianSortedArrays(vector<int>& nums1, vector<int>& nums2) { int m =

  • TZOJ 5365: C++实验:STL之vector42022-06-17 02:02:28

      5365: C++实验:STL之vector4  时间限制(普通/Java):1000MS/3000MS     内存限制:65536KByte总提交: 562            测试通过:395 描述   将一个n行m列矩阵元素输入存储后并输出。 部分代码已经给出,请补充完整,提交时请勿包含已经给出的代码。   C++ int main()

  • TZOJ 5363: C++实验:STL之vector22022-06-17 02:01:49

    5363: C++实验:STL之vector2  时间限制(普通/Java):1000MS/3000MS     内存限制:65536KByte总提交: 685            测试通过:451 描述   依次输入n个整数,每次输入时检查该值是否已经出现在vector中,如果存在则不插入,否则将其插入到开头位置。 部分代码已经给出,请补充完

  • TZOJ 5364: C++实验:STL之vector32022-06-17 02:00:54

    5364: C++实验:STL之vector3  时间限制(普通/Java):1000MS/3000MS     内存限制:65536KByte总提交: 989            测试通过:424 描述   将n个数字输入到vector里,并对其进行从大到小排序并输出。 部分代码已经给出,请补充完整,提交时请勿包含已经给出的代码。   C++

  • TZOJ 5362: C++实验:STL之vector2022-06-17 01:31:37

    5362: C++实验:STL之vector  时间限制(普通/Java):1000MS/3000MS     内存限制:65536KByte总提交: 825            测试通过:549 描述   将n个数字输入到vector里,随后输出。 部分代码已经给出,请补充完整,提交时请勿包含已经给出的代码。   C++ int main() { ve

  • cf545 E. Paths and Trees2022-06-16 16:36:07

    题意: 给定正边权无向图和起点,求边权和最小的最短路径树 思路: 想象跑一遍 dijkstra 后,对于某边 \(u\to v\) 若 \(d_v \neq d_u+w\)(\(w\) 表示该边的边权),那么这条边不可能在最短路径树上,把它删除 然后用剩下的边做一棵最小生成树就是答案,即每次选择最小的边连接两个连通块。 怎么实

  • C++实现Polyval函数(多项式生成函数,np.polyval()等价实现)2022-06-16 10:36:17

    #include<iostream> #include<vector> #include<math.h> std::vector<double> Polyval(std::vector<double> coeffs, std::vector<double> values) { std::vector<double> results; for (auto const &val:values)

  • C++统计函数调用时间2022-06-16 10:34:05

    ''' include include<assert.h> include include int main() { int iter = 10000; std::vector coeffs = { 4, 2, -2, 5, 0, 15}; std::vector valuesToEvaluate = {0, 2, -4, 8, 15, 1.25, 512 ,-5.3 ,12.215, 153, 23, -11}; auto start = std::chrono

专注分享技术,共同学习,共同进步。侵权联系[admin#icode9.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有