ICode9

精准搜索请尝试: 精确搜索
  • 矩阵游戏2022-09-14 00:00:44

    矩阵游戏 是一道氵题; 正好拿来练矩阵乘法; 题目传送门 https://www.luogu.com.cn/problem/P1397 显然老老实实的递推挂了; 那么 很容易想到矩阵加速 如何从F(1,1)转换到F(n,m) 每一列进行m-1次乘a加b的操作A 每一行进行n-1次乘c加d的操作B 可得 F(i,n)=F(i,1)* ( A^(m-1)); (^表示次方) 同理 每

  • 模板-数论2022-09-03 11:31:22

    原来源: dian巨 阶乘逆元求组合数 在做D - Madoka and The Corruption Scheme时, 一个满二叉树的走法就是C(n,i), 在n轮中赢几场, 最终就是杨辉三角前缀和 template<typename T = long long, int P = 1000000007> class Combination{ public:// 初始化组合数, mul[i]=i!, div[i

  • 数论----快速幂2022-08-15 20:00:43

       算法:   1 int qmi(int a, int b, int mod) 2 { 3 //答案 4 int res = 1; 5 //乘数 6 int mul = a; 7 while (b) 8 { 9 //在二进制下b的第0位是否是1 10 //是1则要乘,否则不要 11 if (b & 1) 12 res

  • GCC常见命令2022-08-12 23:01:52

    rwx 对于目录和文件的区别 文件 目录 r 文件的内容可以被查看。支持cat、more、head...vim 目录的内容可以被查看。ls、tree w 文件的内容可以被添加、修改、删除。vim > >> 目录的内容(目录项)可以被添加、修改、删除。rm、touch、mv、cp... x 可执行、可运行。(可

  • 十六进制数转十进制数2022-08-12 13:34:02

    int hextoDec(int hex){ int sum=0,mul=1; int i,r; int count=0; do{ r=hex%16; for(i=0;i<count;i++) mul*=16; mul*=r; sum+=mul; mul=1; count++; }while(hex/=16); return sum;}

  • 自己动手写RISC-V的C编译器-02语法描述方法和递归下降解析2022-08-08 22:00:09

    本节增加对*、/、+、-、()运算的支持 使用生成规则表示运算符优先级 expr = mul("+" mul | "-" mul)* mul = num("*" num | "/" num)* 上面的表达式可以很容易的推导出对于对于运算1*2+3的语法树 由expr开始推导乘除法一定会在加减法的更下一层,所以很自然的得出乘法优先级大

  • [AcWing 1277] 维护序列2022-07-30 11:03:40

    线段树 区间修改(加,乘),区间查询(求和) 点击查看代码 #include<bits/stdc++.h> using namespace std; typedef long long LL; const int N = 5e5 + 10; int n, m, p; LL w[N]; struct Node { int l, r; LL sum, add, mul; } tr[N << 2]; void pushup(int u) { tr

  • 2022 杭电多校 第三场 A - Equipment Upgrade2022-07-29 11:06:08

    题意 一把武器要升级到 \(n\), 每次尝试升级要花费 \(c_i\), 有 \(P_i\) 的概率成功升级到 \(i + 1\) 级, 失败会降级, 降 \(j\) 级的概率如下 \[\left(1-p_i\right)\frac{w_j}{\sum_{k=1}^i w_k} \]现给出 \(c_i\), \(P_i\)(以百分制形式给出), \(w_i\), 保证 \(P_0 = 100\) 思路

  • leetcode.43. 字符串相乘2022-07-26 00:04:39

    给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。 注意:不能使用任何内置的 BigInteger 库或直接将输入转换为整数。   示例 1: 输入: num1 = "2", num2 = "3"输出: "6"示例 2: 输入: num1 = "123", num2 = "45

  • 线段树 整理笔记2022-07-20 12:06:27

    p.s. 代码块缩进有问题,但不影响正常阅读,请忽略。 区间内最大连续权值和 P4513 小白逛公园: 区间询问 + 单点修改。 对于询问区间内最大连续权值和,按照套路,维护 \(t_i.lmax\) 与 \(t_i.rmax\),注意在查询的时合并答案要分情况。具体地,看代码吧(实在描述不来): node query (int i, int

  • 数学算法笔记(c++)2022-07-20 09:33:45

    快速幂: 即求\(a^b\)除以\(m\)的余数 使用乘法定义: b个a相加 即 \(a*b=a*\frac{b}{2}*2\) Code: long long mul(long long a,long long b,long long m){ if(b==0) return 0; if(b%2==1) return (2*mul(a,b/2,m)+a)%m; else return 2*mul(a,b/2,m)%m; } 组合数学 1.减法原理: 即

  • ARC142D Deterministic Placing2022-07-13 22:33:38

    原题链接 https://atcoder.jp/contests/arc142/tasks/arc142_d 对我来说,这是一道很复杂的 \(dp\) 题,很考验基本功,也十分考验分析问题的准确性。 考场上我的大致思路已经大差不差了,但是 \(dp\) 转移的细节实在是过于冗杂,导致我经过了一个月才把这道题目搞定,其中经历了各种没有考虑

  • /t/long-integer-multiplication-mul-wide-u64-and-mul-wide-u128/515202022-07-13 14:05:54

    /* Copyright (c) 2017, Norbert Juffa All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain t

  • [SDOI2013]方程2022-07-13 12:32:05

    description 给定方程\(x_1+x_2+...+x_n=m\)和\(n_1\),\(n_2\) 对于\(i\in [1,n_1]\): \(x_i\le a_i\) 对于\(i\in [n_1+1,n_1+n_2]\):\(x_i\ge a_i\) 问正整数结的个数且\(p<=437367875\)(不一定是质数), \(n,m<=10^9\), \(n_1,n_2<=8\) solution 首先这种解的个数常见插板法套路了。

  • 【考试总结】2022-07-052022-07-06 17:32:34

    数叶子 点之间互相独立,对答案的贡献之和它的度数有关,设当前计算的点的度数为 \(d\) 此时问题本质上是在 \([1,m]\) 中放 \(d\) 块板,每种放法向答案贡献划分出来的 \(d+1\) 个区间两两相邻的长度的乘积 使用 \(x=\sum\limits_{i=1}^x[1]\) 的想法处理乘积,也就是让每相邻的一对计算

  • 「AGC021F」Trinity2022-06-30 10:03:40

    题目 点这里看题目。 分析 显然这是一道 DP 题目。 显然,由于 \(B,C\) 都是关于列,只有 \(A\) 是关于行的,我们应该逐列做 DP。 状态有一点小技巧,我们可以设 \(f_{i,j}\) 表示前 \(i\) 列,其中有 \(j\) 行出现了第一个黑格子,且这 \(j\) 行的相对顺序已经确定的方案数。 Note. 从顺序

  • CF1682F 题解2022-06-09 21:08:39

    CF1682F MCMF? 高难度紫属于是 反正题解写起来还挺复杂度,代码就还行 第一步 拆点。把 \(i\) 拆成 \(|b_i|\) 个点,然后这 \(|b_i|\) 个点和之前一样连边。 此时就是左右有相同数量的点,然后两个点 \((u, v)\) 相连的花费是 \(|a_u-a_v|\),要把左右都匹配的最小花费。 此时最优解显然

  • 力扣简202 快乐数2022-05-29 19:35:22

    自己手写:         package leetcode01; /*编写一个算法来判断一个数 n是不是快乐数。 「快乐数」定义为: 对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。 然后重复这个过程直到这个数变为 1,也可能是无限循环但始终变不到 1。 如果这个过程结果为1,那么这个数

  • 快速幂和快速乘2022-05-23 01:32:43

    快速幂运算 求a的b次幂,不能用幂运算 思路:a^b    把b看成二进制,b从最低为开始看 b = (0/1)*2^0+ (0/1)*2^1+ (0/1)*2^2 也就是说b的某一位是1,如果该位位第n低位,则需要乘上a^n   快速乘也是同样道理 求a*b    加上 a^n   def exponential_calculation(a,b): ans = 1 w

  • P8290 [省选联考 2022] 填树2022-05-20 22:00:34

    先考虑第一问: 令 \(V_k(L)\) 为权值在 \([L,L+k]\) 中的答案。 注意到当极差为 \(d\) 时贡献会计算 \(k-d+1\) 次,利用这个特点答案可以表示为 \(\sum_{L}V_k(L)-V_{k-1}(L)\) , 下面不妨省去 \(k\)。 一条路径上的 \(V\) 为所有结点 \(V_i\) 的积,我们单独考察一下: \[V_i(L)=\max(0

  • P4588 [TJOI2018]数学计算 题解2022-05-19 16:31:25

    题面 考虑把操作时间当作下标建立线段树,每次操作要么是单点修改为 \(x\),要么是修改为 \(1\)。输出答案就是输出线段树根节点的答案。 点击查看代码 #include<iostream> #include<cstdio> using namespace std; const int N=1e5+13; int mod,pos[N]; struct SegTree{int l,r,mul;}

  • 查询数据库表名,数据表信息,MySQL Key值(PRI, UNI, MUL)的含义2022-05-11 11:02:46

        数据表名:   SELECT TABLE_NAME FROM information_schema.`TABLES` WHERE TABLE_SCHEMA ='v53' AND TABLE_TYPE ='BASE TABLE' 数据表信息:   SELECT COLUMN_NAME ,IS_NULLABLE ,COLUMN_TYPE,COLUMN_KEY FROM information_schema.`COLUMNS` WHERE TABLE_SCHE

  • 多项式全家桶2022-05-06 21:35:20

    相关知识以后补,先存份代码。 #include <set> #include <map> #include <queue> #include <cmath> #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> #define pii pair <int , int> #define mp make

  • webpack懒加载方式2022-05-03 16:04:16

    index.html<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>webpack</title>

  • [AcWing 793] 高精度乘法2022-04-25 21:36:16

    点击查看代码 #include<iostream> #include<vector> using namespace std; vector<int> mul(vector<int>& A, int b) { vector<int> C; int t = 0; for (int i = 0; i < A.size() || t; i++) { if (i < A.size())

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

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

ICode9版权所有