首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏OI算法学习笔记

    比long long 更大的__int128

    说明 __int128 仅64位 GCC , G++ 支持,且不在 C++ 标准中。如果是64位 GCC 可直接使用。 所以__int128能在比赛中进行使用。 存储范围 __int128占用128Byte的空间,数据范围是 −2127∼2127−1-2^{127} \sim 2^{127}-1−2127∼2127−1 。 使用方式 声明定义 与其他类型一致 类型名 变量名 __int128 a=4,b=3; a=10; a+=b; a*=b; ... 输入 void read(__int128 &ans){ __int128 x,f=1; char ch=getchar(); while(ch<'0'||ch>'9'){

    2.1K20编辑于 2022-08-31
  • 来自专栏Postgresql源码分析

    __int128类型movaps指令crash

    结论 在使用__int128时,如果__int128类型的内存起始地址不是按16字节对齐的话,有些汇编指令会抛出SIGSEGV使程序crash。 案例 目前知道的两个指令是msse指令集的movaps和vmovaps,都是用来给int128赋值的,例如下面两种场景: (访问rax+0x30地址即 0x328dba8 + 0x30 = 0x328dbd8 字节) 复现 #include <stdio.h> // gcc -g -O2 -Wall -msse4.2 -o test test.c // core typedef unsigned __int128 uint128; // no core // typedef unsigned __int128 uint128 __attribute__((aligned(8))); static char void) { MySt *st = (MySt *)(mem + 1); printf("st = %p\n", st); printf("st->i = %p\n", &st->i); __int128

    67210编辑于 2023-11-23
  • 来自专栏OI算法学习笔记

    比long long更大的__int128

    说明 __int128 仅64位GCC,G++支持,且不在C++标准中。如果是64位GCC可直接使用。 所以__int128能在比赛中进行使用。 存储范围 __int128占用128Byte的空间,数据范围是 -2^{127}\sim 2^{127}-1 。 使用方式 声明定义 与其他类型一致 类型名 变量名 __int128 a=4,b=3; a=10; a+=b; a*=b; ... 输入 void read(__int128 &ans){ __int128 x,f=1; char ch=getchar(); while(ch<'0'||ch>'9'){ >='0'&&ch<='9'){ x=x*10+ch-'0'; ch=getchar(); } ans=x*f; } 输出 void output(__int128

    6.6K10编辑于 2022-04-07
  • 来自专栏小樱的经验随笔

    CC++中int128的那点事

    最近群友对int128这个东西讨论的热火朝天的。 讲道理的话,编译器的gcc是不支持__int128这种数据类型的,比如在codeblocks 16.01/Dev C++是无法编译的,但是提交到大部分OJ上是可以编译且能用的。C/C++标准。 IO是不认识__int128这种数据类型的,因此要自己实现IO,其他的运算,与int没有什么不同。 a+b大数读入模板: 1 #include <bits/stdc++.h> 2 using namespace std; 3 inline __int128 read() 4 { 5 __int128 x=0,f=1; 6 char ch=getchar(); 7 while(ch<'0'||ch>'9') 8 { 9 if(ch=='

    11K10发布于 2018-08-01
  • 来自专栏C++

    【算法基础篇】(四十八)突破 IO 与数值极限:快速读写 +__int128 实战指南

    2.1 __int128 的核心特性与局限 核心特性 存储范围: signed __int128:支持 - 1e38 ~ 1e38(约 39 位十进制数); unsigned __int128 2.2 __int128 的快速读写实现 由于__int128无法直接通过常规 IO 函数读写,需自定义读写函数,本质是将 128 位整数视为字符流处理,与快速读写原理一致: #include <iostream> using namespace std; // 定义__int128为LL,简化书写 typedef __int128 LL; // 快速读入__int128(支持正负) inline C++ 实现 #include <iostream> using namespace std; typedef __int128 LL; // 快速读入__int128(处理30位超大数) inline _int128 无溢出:当数值超过 1e38 时,__int128 也会溢出; 避坑:若数值超 1e38,需切换为高精度算法; 误区 4:数组大规模使用__int128:定义__int128 arr

    24010编辑于 2026-01-24
  • 来自专栏学海无涯

    Swift 6.0 新特性

    Int128与UInt128 增加 128 位整数类型Int128与UInt128。 // Int128 var a: Int128 = 10 // UInt128 let b: UInt128 = 20 集合 增加了RangeSet类型,用于处理对集合执行复杂操作之后的结果。

    69011编辑于 2024-07-05
  • ubuntu上python setup.py install报错:error: expected initializer before ‘__s128’

    include/linux/types.h:12:27: error: expected initializer before ‘__s128’ 12 | typedef __signed__ __int128 解决方案: 打开这个 /usr/include/linux/types.h文件定位到12行注释改行代码 //typedef __signed__ __int128 __s128 __attribute_

    16200编辑于 2025-07-16
  • 来自专栏数据结构与算法

    51nod"省选"模测 A 树的双直径(树形dp)

    while(c >= '0' && c <= '9') x = x * 10 + c - '0', c = getchar(); return x * f; } void print(__int128 MAXN * 2], ve[MAXN * 2]; long long f[MAXN], g[MAXN], mxpre[MAXN], mxsuf[MAXN], dl[MAXN], ul[MAXN]; __int128 (MP(x, w)); } downdfs(1, 0); updfs(1, 0); for(int i = 2; i <= N; i++) chmax(ans, (__int128 g, 0, sizeof(g)); downdfs(1, 0); updfs(1, 0); for(int i = 2; i <= N; i++) chmax(ans, (__int128

    50020发布于 2019-03-20
  • 来自专栏wym

    __int 128 的输入和输出

    本文链接:https://blog.csdn.net/qq_41603898/article/details/101078710 输入: inline void read(__int128 &X) ();} while(isdigit(ch)) X=(X<<3)+(X<<1)+(ch^48),ch=getchar(); if (w) X = -X; } 输出: void print(__int128

    1.4K10发布于 2019-09-25
  • 来自专栏OI

    P6274 [eJOI2017]六

    using namespace FastIO; Cn int M=7,X=1e9+7,N=1e7+10; LL n,p[M]; int f[1<<M],c[M],cnt,g[N],Ans; map<__int128 ,int> mp; I int DFS(__int128 x){ if(mp.count(x)) return mp[x]; RI i,j,k,S=1,o;for(i=1;i<(1<<cnt );i++) if((k=(x>>(i<<1))&3)<2){ __int128 t=x;for(j=0;j<(1<<cnt);j++) i&j&&(x>>(j<<1)&3)<2&&(x +=((__int128)1<<(j<<1)),0); if(!

    29020编辑于 2022-09-19
  • 来自专栏数据结构与算法

    洛谷P3924 康娜的线段树(期望 前缀和)

    这题输出的时候是不需要约分的qwq 如果你和我一样为了AC不追求效率的话直接#define int __int128就行了。。 代码十分清新 #include<bits/stdc++.h> #define int __int128 using namespace std; const int MAXN = 1e6 + 10; inline

    47620发布于 2019-02-26
  • 来自专栏安恒网络空间安全讲武堂

    CTF逆向--安卓篇

    v11; // w20 __int64 v12; // x8 __int64 result; // x0 char v14[184]; // [xsp+8h] [xbp-1A8h] __int128 v15; // [xsp+C0h] [xbp-F0h] __int128 v16; // [xsp+D0h] [xbp-E0h] __int128 v17; // [xsp+E0h] [xbp-D0h ] __int128 v18; // [xsp+F0h] [xbp-C0h] __int128 v19; // [xsp+100h] [xbp-B0h] __int128 v20; // [ xsp+110h] [xbp-A0h] __int128 v21; // [xsp+120h] [xbp-90h] __int128 v22; // [xsp+130h] [xbp-80h] __int128 v23; // [xsp+140h] [xbp-70h] __int128 v24; // [xsp+150h] [xbp-60h] __int64 v25; // [xsp+

    3K62发布于 2018-02-23
  • 来自专栏奇妙的算法世界

    2020年第一届辽宁省大学生程序设计竞赛

    int,int> PII; typedef pair<char,char> PCC; typedef long long ll; typedef pair<ll,ll> PLL; typedef __int128 int,int> PII; typedef pair<char,char> PCC; typedef long long ll; typedef pair<ll,ll> PLL; typedef __int128 int,int> PII; typedef pair<char,char> PCC; typedef long long ll; typedef pair<ll,ll> PLL; typedef __int128 int,int> PII; typedef pair<char,char> PCC; typedef long long ll; typedef pair<ll,ll> PLL; typedef __int128 int,int> PII; typedef pair<char,char> PCC; typedef long long ll; typedef pair<ll,ll> PLL; typedef __int128

    72720发布于 2020-11-24
  • 来自专栏奇妙的算法世界

    2020ICPC·小米 网络选拔赛热身赛

    int,int> PII; typedef pair<char,char> PCC; typedef long long ll; typedef pair<ll,ll> PLL; typedef __int128 int,int> PII; typedef pair<char,char> PCC; typedef long long ll; typedef pair<ll,ll> PLL; typedef __int128 int,int> PII; typedef pair<char,char> PCC; typedef long long ll; typedef pair<ll,ll> PLL; typedef __int128 int,int> PII; typedef pair<char,char> PCC; typedef long long ll; typedef pair<ll,ll> PLL; typedef __int128

    38930发布于 2020-11-12
  • 来自专栏奇妙的算法世界

    IME++ Starters Try-outs 2019 题解

    int,int> PII; typedef pair<char,char> PCC; typedef long long ll; typedef pair<ll,ll> PLL; typedef __int128 int,int> PII; typedef pair<char,char> PCC; typedef long long ll; typedef pair<ll,ll> PLL; typedef __int128 int,int> PII; typedef pair<char,char> PCC; typedef long long ll; typedef pair<ll,ll> PLL; typedef __int128 int,int> PII; typedef pair<char,char> PCC; typedef long long ll; typedef pair<ll,ll> PLL; typedef __int128 int,int> PII; typedef pair<char,char> PCC; typedef long long ll; typedef pair<ll,ll> PLL; typedef __int128

    78410发布于 2020-12-02
  • 来自专栏奇妙的算法世界

    Codeforces Round #682 (构造场)

    int,int> PII; typedef pair<char,char> PCC; typedef long long ll; typedef pair<ll,ll> PLL; typedef __int128 int,int> PII; typedef pair<char,char> PCC; typedef long long ll; typedef pair<ll,ll> PLL; typedef __int128 int,int> PII; typedef pair<char,char> PCC; typedef long long ll; typedef pair<ll,ll> PLL; typedef __int128 int,int> PII; typedef pair<char,char> PCC; typedef long long ll; typedef pair<ll,ll> PLL; typedef __int128

    45920发布于 2020-11-24
  • 来自专栏OI

    YbtOJ 最小数

    pmod m\\& \Rightarrow k\phi(\frac{9n}{8})\end{align} 然而可能会爆 long long,本来要用龟速乘再多加只 \log 的,但是本人太懒,直接上 int128 Ar> #define W while #define I inline #define RI register int #define LL __int128 #define int LL #define

    1.6K40编辑于 2022-09-19
  • 来自专栏OI

    10152. 「一本通 5.1 练习 3」矩阵取数游戏

    max{dp[i+1][j]+2^{m-(j-i)}\times v[i],dp[i][j-1]+2^{m-(j-i)}\times v[j]} 然后一看这道题的数据范围需要用高精度 但本人很懒,就用__int128 include<cstddef> #include<cstdio> #include<cstdlib> #include<cstring> #include<ctime> #define int __int128

    59420编辑于 2022-09-19
  • 来自专栏奇妙的算法世界

    AtCoder Beginner Contest 185 (手速场)

    rson (ind<<1|1) using namespace std; typedef long long ll; typedef unsigned long long ull; typedef __int128 rson (ind<<1|1) using namespace std; typedef long long ll; typedef unsigned long long ull; typedef __int128 rson (ind<<1|1) using namespace std; typedef long long ll; typedef unsigned long long ull; typedef __int128 rson (ind<<1|1) using namespace std; typedef long long ll; typedef unsigned long long ull; typedef __int128 rson (ind<<1|1) using namespace std; typedef long long ll; typedef unsigned long long ull; typedef __int128

    43620发布于 2020-12-16
  • 来自专栏区块链大本营

    V神绞尽脑汁开发Vyper,Python、Solidity要失宠?十分钟,看完这份12岁儿童都能看懂的智能合约指南,你就明白了…

    整型 Vyper只有两个整型:uint256(对于非负整数)和int128(对于有符号整数)——与之相对的是Solidity的uint8到uint256,int8到int256也是如此(这意味着int类型有 =, >=, and > comparisons; and +, -, *, /, **, and % arithmetic operators (only for int128) 以及一些类似的内置功能 例如: lst: int128[3] # define a list lst = [1, 2, 3] # set the values lst[2] = 5 # set a value by index struct是自定义的用来变量分组并使用struct.argname访问的数据类型,在一定程度上类似于Python中的字典: struct: { # define the struct arg1: int128 ) def winning_proposal() -> int128 def winner_name() -> bytes32 与任何编程语言一样,预先规划主要结构(在本例中是函数合约)可以使编程更加容易

    1.5K30发布于 2018-08-03
领券