ICode9

精准搜索请尝试: 精确搜索
  • STL源码剖析笔记:Vector、List2022-07-19 14:00:11

    一、Vector 特点:连续线性空间 <stl_vector.h> 1 typedef T value_type; 2 typedef value_type* pointer; 3 typedef value_type* iterator; //vector的迭代器是普通指针 => vector<int>::iterator ite; ite的类型是int* 4 typedef value_type& reference; 5 typedef

  • CodeForces 1045D Interstellar battle2022-07-19 09:35:49

    洛谷传送门 CF 传送门 题意 给一棵树和每个结点消失的概率 \(p_i\),有 \(q\) 组询问,每组询问要求: 将 \(p_u\) 修改为 \(x\) 查询森林的期望连通块数量 思路 题中给出的是每个结点消失的概率,那不妨先 \(p_i \gets 1 - p_i\) 将 \(p_i\) 转化为每个结点出现的概率。 众所周知森林连

  • [51nod1125]交换机器的最小代价2022-07-17 20:14:20

    设每个数最终的位置是$p_i$, 每个数当前的位置是$i$, 由于数是独一无二的, 所以pi - i是一一映射的关系 然后我们让$i -> p_i$, 建立一个图 那么, 考虑一个环, 我们可以让最小的值沿着来边走一$n-1$步($n$是环的大小), 亦或是让最小值和全局最小值交换一下, 让全局最小值来代替他走一圈, 再

  • SDUT 2022 Summer Individual Contest - 9 (补题)2022-07-16 21:04:07

    题目链接: Problem - H - Codeforces 题意: 给定一个数组,找出第一个比q[i]大的数q[j]记录数据输出 分析: 对于一个任意的q[i]来说,若i<j且q[i]<q[j]那么答案一定不会在j后面出现,若i<j且q[i]>q[j]答案也不会在j后小于q[j]的元素中出现,所以对于每个元素可以删除其后面的元素,使用栈倒序操

  • Codeforces Round #806 (Div. 4)2022-07-13 22:00:07

    A. YES or YES? 思路:algorithm库里有一个transform函数可以将字符串转为大写,然后判断是否等于YES #include <bits/stdc++.h> using namespace std; typedef long long LL; typedef pair<int, int> PII; const int N = 100010; int n, m; int a[N]; void solve() { cin >

  • 我的马蜂2022-07-13 14:03:07

    真的是,到最后还是从快读的行列里退出来了。 说明一下我博客里面奇奇怪怪的八格缩进是一个 bug ,我还在找 bug 的路上( 实际上我是一个标准的四格党,当然我也不会觉得所有其他缩进的就不好看( 标准板子: /* */ #include <bits/stdc++.h> using namespace std; #define File(a) freope

  • CodeForces 1677D Tokitsukaze and Permutations2022-07-11 16:08:01

    洛谷传送门 CF 传送门 还不错的一道思维 + 计数题。 思路 考虑一次操作后对 \(v\) 数组的影响:相当于将 \(v\) 数组左移一位,原本的 \(v_1\) 被覆盖了,\(v_n\) 补零,然后对于 \(i \in [1,n-1]\),\(v_i \gets \min(v_i - 1, 0)\)。同时还可以发现一个 \(v\) 数组对应着唯一一个排列。 考

  • CF Round #805 (Div. 3) 题解2022-07-11 02:00:49

    A 直接模拟即可,注意 \(10^k\) 的情况(罚时!罚时!罚时!). A Code using namespace std; typedef long long ll; typedef pair<int, int> pii; ll n; int main() { int T; scanf("%d", &T); while (T--) { scanf("%lld", &n); ll t = n; ll x = 1;

  • CF Edu Round 131 简要题解(ABCD)2022-07-10 17:04:55

    A 分类讨论即可 . using namespace std; typedef long long ll; typedef pair<int, int> pii; int main() { int T, a11, a12, a21, a22; scanf("%d", &T); while (T--) { scanf("%d%d%d%d", &a11, &a12, &a21, &a22); if (!a

  • Akuna Capital笔试第二题, 找出异或大于与操作的对数量2022-07-10 12:00:32

    题意很简单,就是给一个数组,找出有多少个对是x ^ y > x & y 首先这题cf味道很冲,感觉当个div2b不是问题,那么我们就来考虑下高位讨论    所以我们可以计算出来每个ai的高位是多少,然后等差数列求和一下就行,最后用总对数减掉高位相同的对数,就是我们要的答案 #include <bits/stdc++.h

  • Educational Codeforces Round 131 D - Permutation Restoration2022-07-10 01:01:38

    对于每个bi,可以求出ai属于 [(i / (bi + 1)) + 1 , i / bi] 然后就是贪心,参考了yyg的写法 依次枚举1~n,枚举到第i个时,把左边界为i的都放进优先队列,此时优先队列中所有元素的左边界<=i,取出一个右边界最小的即可 因为保证有解,所以取出的元素右边界一定>=i(反证:如果右边界<i,那么肯定属

  • 常用的typedef 定义2022-07-09 00:33:42

    今天开始学习VC++基础,系统编程栏目下都是WinAPI和MFC的内容,此为浏览博客园时学习的一篇文章,觉得很实用,拿来做笔记。 出处见最底部。     三行代码:      typedef char CHAR;     typedef CHAR *PCHAR,*LPCH,*PCH,*NPSTR,*LPSTR,*PSTR;     typedef CONST CHAR

  • 2022南外集训 Day52022-07-08 20:33:12

    杂言 今天没啥好说哒,八道题,感觉能至少A5道,状态还算好,可是只有450pts 改题改题,练就完了 T1 俄罗斯国旗 看到 \(n<=50\) 直接 \(n^4\)搞起 枚举主要是枚举颜色不同的分界线行 T1 accept #include<iostream> #include<algorithm> #include<cstring> #include<cstdio> #include<vecto

  • OpenMesh中如何利用CGAL提供的API定位距离给定点最近的面2022-07-08 15:02:00

    关键代码核心逻辑 step 1 - 将OpenMesh:TriMesh的mesh转化为CGAL:Surface_mesh<Point_3>的mesh step 2 - 将三个轴上的坐标转化成CGAL:Point step 3 - 调用PMP::locate() step 4 - CGAL:Face_location转化为OpenMesh:faceHandle remark : 输入的是OpenMesh类型的mesh,输出的是Op

  • loj67372022-07-04 16:03:18

    前言 喜提最劣解。 此做法系与神 SegmentTree 交流得到。 在此前,你能在网上找到的题解似乎只有某神仙的神秘做法,反正我根本不会。 故,本篇题解要旨在于给出思维的过程。 Version 1 读题。 你有一个正整数集合 \(S\),现在请你回答对于 \(1\le k\le n\),有多少种将编号为 \(1\sim k\)

  • AtCoder Beginner Contest 258 G - Triangle2022-07-03 13:31:23

    O(M*sqrt(M))的做法超时 考虑直接暴力,用bitset实现小常数,时间复杂度O(N^3 / 64) #include<bits/stdc++.h> using namespace std; #define fr first #define se second #define et0 exit(0); #define rep(i,a,b) for(int i=a;i<=b;i++) #define rrep(i,a,b) for(int i=a;i>=b;i

  • 洛谷 P1989 无向图三元环计数2022-07-03 02:00:33

    晚上abc的G题考到了,听说是典中典 搞了一下O(m*sqrt(m))的写法 但是在atcoder超时,明天补bitset的写法 时间复杂度的证明 使用bitset的题解 #include<bits/stdc++.h> using namespace std; #define fr first #define se second #define et0 exit(0); typedef long long LL; type

  • 【题解】2022-07-03 01:01:51

    #题目题目链接 --> https://codeforces.com/contest/1358/problem/D#思路及代码实现使劲想可以想到,在选择一段连续的区间时,最划算的选择应该是:* 左端点选择某个月的某个节点,右端点选择某个月的月末另外* 由于可能跨年份,我们先把两年拼接在一起* 接着枚举每一个右端点* 二分查找满

  • AcWing 105. 七夕祭2022-07-01 17:04:35

    分治 + 推式子(构造绝对值不等式) 交换行的元素时每列的元素个数不变,交换列时同理,所以可以分别考虑行和列 对于行(列),可以看成均分纸牌的模型,唯一的不同点是从链变成了环(首尾可交换) 然后就可以推式子了 推式子具体过程 #include<bits/stdc++.h> using namespace std; #define fr

  • AcWing 95. 费解的开关2022-06-29 19:00:36

    原题 每一个位置至多只会操作一次,因为如果操作偶数次的话,相当于不操作 最终的状态与操作的顺序无关 如果确定了第一行的操作方案,那么后面的行数都可以依此递推 #include<bits/stdc++.h> using namespace std; #define fr first #define se second typedef pair<int, int> PII;

  • Codeforces Round #803 (Div. 2)2022-06-29 17:05:56

    复健!!! A&B 略 C 如果有仨正数或者仨负数都不行,然后根据 \(0\) 的数量判断一下边界情况即可。 #include<bits/stdc++.h> using namespace std; #define int long long typedef long long ll; typedef unsigned long long ull; typedef pair<int,int> pii; typedef vector<int> vi; #

  • Atcoder-ABC159-EF 题解2022-06-29 11:33:38

    Atcoder题解汇总 ABC 159 E. Dividing Chocolate (二进制枚举,观察数据范围) 题意 有 \(H\times W\) 大小的方格矩阵,每个方格为 \(0\) or \(1\), 现在可以进行横切与竖切,询问最少切多少次可以保证最后的分块中每个分块都有不超过 \(K\) 个 \(1\)。 数据范围 \(1\leq H \leq 10\) \(

  • AcWing 11. 背包问题求方案数2022-06-28 17:07:10

    有两种做法 第一种定义cnt[j]为体积恰好为j的所有方案数 第二种定义cnt[j]为体积不超过j的所有方案数 定义不同,初始状态(边界)不同,计算答案的方式也不同 恰好的写法 //不超过的写法 #include<bits/stdc++.h> using namespace std; #define fr first #define se second typedef p

  • 【New】Code Insertion2022-06-28 14:33:34

    #include <bits/stdc++.h> using namespace std; #define Multicase() for(int T = read() ; T ; T--) #define lowbit(x) (x & (-x)) #define ls (p<<1) #define rs (p<<1|1) #define l(p) tree[p].ls #define r(p) tree[p].rs #define sum(p) tree[p

  • AcWing 1013. 机器分配2022-06-27 23:32:09

    分组背包 输出方案可以跟最短路输出路径进行类比 背包DP输出方案—拓扑图分析 #include<bits/stdc++.h> using namespace std; #define fr first #define se second typedef pair<int, int> PII; typedef long long LL; typedef unsigned long long ULL; const int INF = 0X3

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

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

ICode9版权所有