首页 > TAG信息列表 > i64

CF620E NewYearTree

题目链接   主要要实现区间覆盖和区间查询不同数,看见区间赋值操作可能会想到\(ODT\)来实现,区间查询不同数直接另外开一个数组记录一下就好了,但很可惜\(TLE\)了,代码如下: struct ODT { struct Node { i64 l, r; mutable i64 v;

2022CISCN-satool

2022CISCN-satool 打国赛的时候自己还并不了解LLVM PASS pwn,前几天正好学习了一下LLVM PASS pwn,于是就顺便来复现一下这道题目。 首先找到二进制文件的重写函数的主体并对其进行分析。 开始就是限制了函数的参数和基本块的个数必须为1。 然后是先把一块区域变成可写可执行,并通过

AtCoder Beginner Contest 258

咕咕咕咕。 E - Packing Potatoes 题意 有无穷多个土豆,第\(i\)个土豆的质量为\(w_i\),给定\(w\)的前\(n\)项,然后\(w_{i + n} = w_i\)。 有一个打包流程,一个袋子有个参数\(x\),不断将土豆放进这个袋子知道袋子中土豆质量和大于等于\(x\),然后封袋并使用一个新袋子继续打包。 要求回答

Codeforces Round #802 (Div. 2) 丢人日记+题解

2022.7.2晚 今晚刚打完ABC,感觉C比AB都要简单。D题实现不能,E题一眼但是时间来不及了 附上链接:AtCoder Beginner Contest 258 - AtCoder 明天得想个办法补一下ABC和洛谷的题( 好的,进入正题(分两天更新完,大概) A. Optimal Path 链接:Problem - A - Codeforces 题意:给定一个\(n\)行\(m\)列

Aising Programming Contest 2022(AtCoder Beginner Contest 255)

ABC比较简单,DF过于经典。 E - Lucky Numbers 题意 给定一个长度为\(n - 1\)的数组\(s\),和长度为\(m\)的数组\(t\)。 要求构造出一个满足\(\forall i \in [1, n - 1], a_i + a_{i + 1} = s_i\)的数组\(a\),并且最大化满足\(a_i \in \{t_i | 1 \le i \le m\}\)的\(i\)的数量。 思

AtCoder Beginner Contest 252

A,B,C跳过。 D - Distinct Trio 题意 求满足\(i < j < k\)且\(a_i,a_j,a_k\)这3个数两两互不相等的\((i, j, k)\)的数量。 \(n \le 2 \times 10^5\)。 思路 正着不好算,逆向思考一下就行。 AC代码 // Problem: D - Distinct Trio // Contest: AtCoder - AtCoder Beginner Contes

洛谷SP1716 GSS3 - Can you answer these queries III

题目链接   操作一就是很简单的单点修改。操作二求最大子段和是本题的重点。   最大子段和可能分布在这个节点的左儿子的最大子段和,要么是右儿子的最大子段和,要么是横跨两部分(左儿子的后缀加右儿子的前缀)。而当前节点的最大前缀是\(\max \{pre[ls], sum[ls] + pre[rs]\}\),最

Atcoder 241

Atcoder 241 \(Ex. Card Deck Score\) 题意 给定\(N\)种物品,每种物品价值为\(A_i\),个数为\(B_i\)。现在要选取\(W\)个物品,设第\(i\)种物品选了\(K_i\)个,那么一种选法的总价值就是\(\prod_{i=1}^nA_i^{k_i}\),现在要你求所有方案的总价值和。答案对\(998244353\)取模 \(1\le N\le 16

【Rust】枚举

环境 Rust 1.55.0 VSCode 1.59.1 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/custom_types/enum.html enum 关键字允许创建一个从数个不同取值中选其一的枚举类型(enumeration)。 任何一个在 struct 中合法的取值在 enum 中也合法。 示例 enum WebEvent { //

LeetCode每日一题(Nth Digit)

Given an integer n, return the nth digit of the infinite integer sequence [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, …]. Example 1: Input: n = 3 Output: 3 Example 2: Input: n = 11 Output: 0 Explanation: The 11th digit of the sequence 1, 2, 3, 4, 5, 6, 7, 8

[ 题解 ] [ 数学 ] [ JZOJ5809 ] 数羊

题面 牧羊人 A 和牧羊人 B 总是很无聊,所以他们要玩一个游戏。A 有 \(a\) 只羊,B 有 \(b\) 只羊。他们想要知道 \(a^b\) 的因子和是多少。这就很为难两个牧羊人了,由于答案太大,你能不能告诉我答案取模 \(9901\) 的数。 Example In #1 2 3 Example Out #1 15 对于 \(100%\) 的数据,\(

2020_7_20 模拟赛整理

写在前面 补一下之前 Acm 比赛的题解,之前想写但是咕了。 T1 似乎现在已经没有地方支持 bzoj5000 以后的题目了,想看就只能百度一篇题解了, 原题为:bzoj5267 题意: 有映射: \[b_i = \sum_{j = 0} ^ {n - 1} ((\operatorname{popcnt((i \, or \, j)\, xor \, i)} + 1) \bmod 2 ) a_j \]

ffmpeg结构体(14)-之AVOption与AVClass上

AVOption与AVClass 1、AVOption的数据结构与定义2、AVClass数据结构及其定义2.1 AVFormatContext 中的AVClass2.2AVFormatContext 中的AVClass2.3AVFrame中的AVClass 3、AVClass有关的API4、参考文献 AVOption用于在FFmpeg中描述结构体中的成员变量。它最主要的作用可以

ocaml快餐教程(3) - 基本结构

ocaml快餐教程(3) - 基本结构 分支结构 ocaml中支持用if…then…else表达式。 例: # let pass x = if x>=60 then "pass" else "fail" ;; val pass : int -> string = <fun> # pass 60 ;; - : string = "pass" # pass 59 ;; - : string = "fail"

理解内存对齐

原文地址: https://blog.fanscore.cn/p/24/ 相信大家都听说过内存对齐的概念,不过这里还是通过一个现象来引出本篇话题。 一、求一个结构体的size 猜下下面这个结构体会占用多少字节 type S struct { B byte // Go中一个byte占1字节,int32占4个字节,int64占8个字节 I64 int6

LOJ6496 「雅礼集训 2018 Day1」仙人掌

Link 先考虑树的情况,设\(f_{u,0/1}\)表示\(u\)的父亲占用的\(u\)的出度为\(0/1\)的情况下给\(u\)的子树内的边定向的方案数。 转移很简单,这里就不赘述了。 现在考虑仙人掌的情况,考虑在圆方树上dp。 状态需要改为\(f_{u,0/1/2}\),圆点可以用类似于树上的形式dp,方点可以枚举环上任意

Luogu P5304 [GXOI/GZOI2019]旅行者

Link 二进制分组。每次选定一个二进制位,把特殊点按编号在这一位上的状态分为两半,跑两遍dij求出这两半之间的最短路。 #include<queue> #include<cstdio> #include<vector> #include<cstring> #include<algorithm> #include<functional> using i64=long long; using pi=std::pair<i

Luogu P3270 [JLOI2016]成绩比较

Link 设\(f_{i,j}\)表示前\(i\)门课有\(j\)个人被碾压的方案数。 那么\(f_{i,j}=\sum\limits_{k=j}^n{k\choose j}{n-k-1\choose n-r_i-j}f_{i-1,k}g_i\),其中\(g_i\)表示第\(i\)门课的成绩的方案数。 显然\(g_i=\sum\limits_{x=1}^{U_i}x^{n-r_i}(U_i-x)^{r_i-1}\),Stirling数拆幂

LOJ6516 「雅礼集训 2018 Day11」进攻!

Link 对于任意一个矩阵而言,矩阵内\(1\times1\)的小矩形数量加上\(2\times2\)的小矩形数量减去\(1\times2,2\times1\)的小矩形数量恰好等于\(1\)。 那么只需要对每个点统计以该点为右下角的矩形中,有多少个包含了上述形状的矩形。 单调栈+差分前缀和求出即可,数据比较水暴力求也可以

LOJ6609 无意识的石子堆 加强版

Link 设有\(k\)列有\(2\)枚棋子,那么有\(2n-2k\)列有\(1\)枚棋子,\(m-2n+k\)列为空。 将其转化为二分图,左部有\(n\)个点且每个点度数为\(2\),右边有\(k\)个点度数为\(2\),有\(2n-2k\)个点度数为\(1\),要求它的完美匹配数。 将度数\(2\)为的点拆成两个度数为\(1\)的点,那么此时左右各有\(

Luogu P5320 [BJOI2019]勘破神机

Link \(m=2\) 此时答案为\(\frac{\sum\limits_{i=l+1}^{r+1}{f_i\choose k}}{r-l+1}\),其中\(f_i\)为第\(i\)个Fibonacci数。 也就是说我们现在要考虑如何求出\(\sum\limits_{i=l}^r{f_i\choose k}\)。 我们知道\(f_n=\frac1{\sqrt5}(\frac{1+\sqrt 5}2)^n-\frac1{\sqrt5}(\frac{1-

Luogu P5655 基础数论函数练习题

Link 首先考虑这样表示答案:\(ans_{l,r}=\prod\limits_{i=l}^rb_i\),其中\(b_i=\frac{a_i}{\gcd(a_i,\prod\limits_{j=l}^{i-1}b_j)}=\frac{a_i}{\gcd(a_i,(\prod\limits_{j=l}^{i-1}b_j)\bmod a_i)}\)。 那么这样我们就可以得到一个\(O(n^2qT\log a)\)的暴力算法。 现在有多组询问,

BZOJ 2169 连边

Link 设\(f_{i,j}\)表示连了\(i\)条边,有\(j\)个点的度数为奇数的方案数。 考虑第\(i\)条边的两端的度数的奇偶性,有\(f_{i,j}={j+2\choose 2}f_{i-1,j+2}+{n-j+2\choose 2}f_{i-1,j-2}+(n-j)jf_{i-1,j}\)。 但是这样有的边会被加入两次,所以还需要减去\(({n\choose 2}-i+2)f_{i-2,j}

LOJ 2799 生命之环

Link \(t\)次操作后,位置\(i\)对位置\(j\)的贡献次数为\(\sum\limits_{k=1}^t{t\choose k}[j-i\equiv n\pmod k]\bmod2\)。 利用Lucas定理,将\(t\)二进制拆分,然后对每一位按照上述式子做一遍即可。 #include<bitset> #include<cstdio> using i64=long long; std::bitset<100007>a,r,

AGC023F 01 on Tree

Link 整个做法类似于Link。 #include<queue> #include<cstdio> #include<cctype> using i64=long long; const int N=200007; int p[N],fa[N],vis[N]; struct node{int a,b,id;}a[N],t; int operator<(const node&a,const node&b){return 1ll*a.a*b.b&