atcoder 162c game tree

#交互,鸽笼原理#CF1776C Library game

题目 有一个长度为 \(m\) 的书架,以及 \(n\) 个长度 \(a_1,a_2,\dots,a_n\) Alessia 和 Bernardo 从书架上取书。每次由 Alessia 选择一个之前没选过的 \(i\), 并选择一个长度为 \(a_i\) 的区间,需要保证这个区间内的书全都没有被取过 ......
鸽笼 原理 Library 1776 game

A Tour Through TREE_RCU's Data Structures (翻译)

原文:https://www.kernel.org/doc/html/latest/RCU/Design/Data-Structures/Data-Structures.html December 18, 2016 This article was contributed by Paul E. Mc ......
Structures TREE_RCU Through Tour TREE

AtCoder Regular Contest 164 F Subtree Reversi

洛谷传送门 AtCoder 传送门 非常好题目。 发现每个点颜色被反转的次数是固定的,为其深度(根结点深度为 \(0\))。于是可以看作是,一放棋子就得到分数。 那么先手取偶数层和后手取奇数层都会使先手得分,所以双方的目标都是尽可能多取偶数层的结点。 考虑若一开始有偶数层的叶子,那么当前的先手肯定会 ......
AtCoder Regular Contest Subtree Reversi

CF868E Policeman and a Tree

感觉,好自然啊! 想法 dp,想办法分解这个博弈的过程。发现警察会从一片叶子到另一片叶子,在叶子抓住小偷时所有小偷可以全树乱走。因此 dp:\(f_{u, i}\) 表示警察位于 \(u\),全树剩余 \(i\) 个小偷时的答案。 因为两边都绝对理性,小偷在警察离开叶子后不会移动并位于多片叶子上。考 ......
Policeman 868E Tree 868 and

AtCoder Beginner Contest(abc) 309

B - Rotate 题目大意 给定一个n*n的矩阵, 要求把矩阵的最外围按照顺时针转动一个数据, 输出转动后的矩阵; 解题思路 数据不大, 暴力即可; 神秘代码 #include<bits/stdc++.h> #define int long long #define IOS ios::sync_ ......
Beginner AtCoder Contest 309 abc

题解 QTREE7 - Query on a tree VII

题目描述 一棵树,每个点初始有个点权和颜色。 0 u :询问所有 \(u,v\) 路径上的最大点权,要满足 \(u,v\) 路径上所有点的颜色都相同。 1 u :反转 \(u\) 的颜色。 2 u w :把 \(u\) 的点权改成 \(w\) 。 \(color_i\in[0,1]\),\(w_i\ ......
题解 QTREE7 QTREE Query tree

CF1572F Stations 题解-Segment Tree Beats

20231025 CF1572F Stations 题解-Segment Tree Beats 吉司机线段树好题!!!CF3400。 传送门 Statement 有 \(n\) 个广播站,第 \(i\) 个广播站高度为 \(h_i\),范围为 \(w_i\)。初始 \(h_i=0,w_i=i\)。广 ......
题解 Stations Segment 1572F Beats

CF1467E Distinctive Roots in a Tree

突然发现深究一些树上问题还是挺有意思的哈。 显然对于同一种权值的任意两个结点,其两端的部分都是不合法的。 维护两个标记表示子树内均不合法与子树外均不合法即可。但相同权值的点对数量是 \(O(n^2)\) 的,我们要优化这个过程。 发现很多点对都是无用的。DFS 下去,遇到一个 \(x\) 权值的结点 ......
Distinctive 1467E Roots 1467 Tree

CF1854E Games Bundles 题解

乱搞题 设个 \(dp[i]\) 表示和为 \(i\) 的子序列个数,那么转移是容易的, \(dp[j]+=dp[j-i]\) ,然后就判下 \(dp[60]+dp[60-i]\) 是否大于 \(m\) ,发现这样子搞对于比较大的数可能达不到 \(m\) 的限制,因为这样子转移,默认的是一个数只选一 ......
题解 Bundles 1854E Games 1854

sift+flann(kd-tree)+RANSAC 进行图像匹配

python 3.7.11 opencv3.4.2.16 import numpy as np import cv2 from matplotlib import pyplot as plt def img_match_first(src,dst): # sift特征提取 sift = cv2.xf ......
图像 kd-tree RANSAC flann sift

数据结构与算法 | 二叉树(Binary Tree)

"二叉树"(Binary Tree)这个名称的由来是因为二叉树的每个节点最多有两个子节点,一个左子节点和一个右子节点。其中,“二叉”指的是两个,因此“二叉树”表示每个节点最多可以分支成两个子节点。 ......
数据结构 算法 结构 数据 Binary

Codeforces Round 875 (Div. 2) C. Copil Copac Draws Trees( DFS )

Codeforces Round 875 (Div. 2) C. Copil Copac Draws Trees 思路: 在输入树的边的同时记录他们的输入顺序 从 1 开始跑 DFS ,遇到未连上的边时 , 有两种情况(用 q 表示当前点的顺序序号) 1.边的顺序在这个点连上之前,那么 DFS 的 ......
Codeforces Round Copil Copac Draws

2D物理引擎 Box2D for javascript Games 第五章 碰撞处理

2D物理引擎 Box2D for javascript Games 第五章 碰撞处理 碰撞处理 考虑到 Box2D 世界和在世界中移动的刚体之间迟早会发生碰撞。 而物理游戏的大多数功能则依赖于碰撞。在愤怒的小鸟中,小鸟摧毁小猪的城堡时,便是依赖碰撞而实现的; 在图腾破坏者中,当神像坠落到图腾上或摔碎 ......
javascript 物理 引擎 Box2D Games

CF1003E Tree Constructing

很trivial的构造题 首先上来判掉一些显然无解的情况,然后考虑既然最后直径长为\(d\)那么不妨先搞一条长度为\(d\)的链来 考虑在链上接一些点使得直径不会变长,对于链上的某个点,它最多能接上的链的长度就是它到两个端点距离的最小值 不妨设计递归函数求解,设solve(x,dis,lim)表示在 ......
Constructing 1003E 1003 Tree CF

Game Bundles 题解

题目链接 Game Bundles 分析 很神奇的一道题目 先想想如何计算一个集合和为60的子集个数 可以想到通过 \(DP\) 求解: 记 \(f[i][j]\) 为前 \(i\) 个数字,和为 \(j\) 的子集个数 则 \(f[i][j]+=f[i-1][j-a[i]]\) \(f[i][a[ ......
题解 Bundles Game

AtCoder Regular Contest 167——B - Product of Divisors

题目很明显,给定 所有因数的积不断除以最多能除几次。 首先,很容易发现,对于每一对因子,都可以对答案得出B的贡献,设A的因子数目为n。 将A进行质因数分解,PBa1,PBa2,PBa3……PBam,那么因数个数就是质因子加一的乘积。 那么因子对数也就是前者一半。答案就是B乘因子对数除以二注意此处除操 ......
Divisors AtCoder Regular Contest Product

CF723F st-Spanning Tree

小清新贪心+分类讨论,因为边的数组开小了WA了好久…… 首先我们贪心地选出不包含\(s,t\)的边,用这些边尽量地将除了\(s,t\)外的\(n-2\)个点连通 接下来考虑每个连通块,由于题目保证图初始连通,因此只有三种情况,即要么其中仅有和\(s\)相连的边;仅有和\(t\)相连的边;或者同时有向 ......
st-Spanning Spanning 723F Tree 723

CF260D Black and White Tree

刚开始想复杂了,后面再细想了下发现是个傻逼题 考虑一下构造策略,每次从两种颜色集合中分别取出一个数\(u,v\),考虑连边\(u\leftrightarrow v\),边权为\(\min(s_u,s_v)\) 并在每次操作后将\(s_u,s_v\)中较小的那个直接删掉,并把较大的那个值减去\(\mi ......
Black White 260D Tree 260

AtCoder Beginner Contest(abc) 308

B - Default Price 题目大意 小莫买了n个寿司, 现在给出m个寿司的名称和m+1个价格, 如果小莫买的其中一个寿司不在这m个寿司之中就用价格m0; 请问小莫买的寿司花了多少钱 解题思路 数据不大, 暴力哈希即可; 神秘代码 #include<bits/stdc++.h> #defin ......
Beginner AtCoder Contest 308 abc

[ABC207F] Tree Patrolling 题解

[ABC207F] Tree Patrolling 弱智 DP 题,设 \(f(i,j,0/1/2)\) 表示在点 \(i\),子树中有 \(j\) 个点被覆盖,且 \(i\) 点自身状态是未被覆盖/被自身覆盖/被某个儿子覆盖,然后树上背包更新就行了。 代码: #include<bits/stdc+ ......
题解 Patrolling 207F Tree ABC

AT_tdpc_tree 木 题解

木 弱智 DP 题,直接设 \(f_i\) 表示 \(i\) 子树内染色的方案数,然后每次合并一个点与它的儿子即可(具体而言,因为儿子间独立,所以方案数就是二项式系数)。 需要注意的是因为第一条边可以在任意位置,所以要以每个点为根各 DP 一次。但是这样每条边会被算两次,所以乘以 2 的逆元即可。 ......
题解 AT_tdpc_tree tdpc tree AT

Atcoder Beginner Contest 324 G Generate Arrays 题解-Treap

为了更好的阅读体验,请点击这里 题目链接 套上平衡树板子就能做的很快的题,然后因为是指针存树,因此交换只需要把序列大小较小的挨个拿出来插到相应的地方即可。复杂度 \(O(N \log^2 N)\)。 但是一定要记住 不可以直接使用 std::swap 交换包含带有指针的类的实例(如代码中的 Trea ......
题解 Beginner Generate Atcoder Contest

games101一些问题及思考

games101一些问题及思考 1. 透视投影为什么z值变大 从透视投影矩阵可以看出z会变大,但从直观上怎么想呢。 想象一段向无穷远处延伸的铁轨,假设有100m,但照片中前一半明显不足50m,后一段明显多于50m,可以体会到近平面和远平面之间的点都会向远平面压缩,使得出现近大远小的情况。 2. 各个 ......
问题 games 101

Huffman Tree in C

// // main.c // HuffmanTree // // Created by steve xiaohu zhao on 2023/10/18. // #include <stdio.h> #include <stdlib.h> // 定义一个 Huffman Tree 的节点 struc ......
Huffman Tree in

AtCoder Regular Contest 167

Preface 补一下上周日的ARC,因为当天白天和队友一起VP了一场所以就没有精力再打一场了 这场经典C计数不会D这种贪心乱搞反而是一眼秒了,后面的EF过的太少就没看 A - Toasts for Breakfast Party 用一个类似于蛇形的放法就好了,比如对于\(n=9,m=5\),放法为 ......
AtCoder Regular Contest 167

vue双端算法代码分析、数组转树(tree)结构

let oldArray = [1, 2, 3, 4, 5]; let newArray = [1, 2, 6, 4, 5]; function patch(oldArr, newArr) { let oldStart = 0; let oldEnd = oldArr.length - 1; let ......
数组 算法 结构 代码 tree

3D Math for Graphics and Game笔记

这个机器人的原点在世界坐标系下的(4.5,1.5),而她右肩膀上的那个灯的模型坐标系为(-1,5),怎样计算这个灯的世界坐标呢? 开始: 获取原点,这个原点为(4.5,1.5) 向右移动一个位置,机器人的"左边"是[0.87,0.50],这样得到的位置为(4,5,1.5) + (-1)X[0.87, ......
Graphics 笔记 Math Game for

Japan Registry Services (JPRS) Programming Contest 2023 (AtCoder Beginner Contest 324) 赛后总结

Japan Registry Services (JPRS) Programming Contest 2023 (AtCoder Beginner Contest 324) 赛后总结 可悲的是:我没来得及写题解。 T1 Same 秒切。 直接输入排一遍序再遍历即可。 #include <bits/s ......

[题解] CF1790E - XOR Tree

CF1790E - XOR Tree 题意 给定一颗无根树,在可以改变任意一个点的点权操作基础上,让树上任意简单路径的异或和不为 \(0\) ,问最少需要多少次操作。 思路 假设某个点为根,设 \(pre_x\) 为 \(x\) 点到根的树上前缀异或和, \(a_x\) 为 \(x\) 的点权,则 ......
题解 1790E 1790 Tree XOR

比赛总结:Japan Registry Services (JPRS) Programming Contest 2023 (AtCoder Beginner Contest 324)

比赛:Japan Registry Services (JPRS) Programming Contest 2023 (AtCoder Beginner Contest 324) A-same 1.常规方法 int main() { int n; cin >> n; vector<int> s(n) ......