首页 > TAG信息列表 > int128

2022.9.4———HZOI【CSP-S模拟2(联考)】

\(Write\ In\ Front\) \(Rank33/43\) 只拿了 \(13 + 25 + 32 + 7 = 77pts\) \(lyin\)大佬三百多分,我一百不到,我太菜了 \[ \Huge \mathbf{水博客警告!} \]这篇博客里基本没写啥 \(\mathfrak{T1}\ 谜之阶乘\) 蜜汁阶乘太草了 注意到a-b最大差值不会超过\(20\),因为\(20!\)已经达到了1

__int128读写

类似于快读快写 1 inline __int128 read() 2 { 3 __int128 x=0,f=1; 4 char ch=getchar(); 5 while (ch<'0' || ch>'9') 6 { 7 if (ch=='-') f=-1; 8 ch=getchar(); 9 } 10 while (ch>=&#

题解 黑客(续)

传送门 相对简单的数位DP,需要高精 需要注意的是类似数位DP这样的DP用记搜实现状态数可能会比刷表少很多 对于类似「为啥 1<<2 等于1啊」这样的问题,康康你存的类型是不是int,尤其注意是不是开成bool了 于是令 \(dp[i][j]\) 为由低位到高位考虑到第 \(i\) 位,当前不能再选的数的集合

__int128读写板子

void write(__int128 a) { if(a<0) { cout<<'-'; a=-a; } if(a>9) write(a/10); cout<<(int)(a%10); } __int128 read() { __int128 temp=0; string a; getline(cin,a); for(int i

2021牛客多校5 G/nowcoder 11256 G Greater Integer, Better LCM

题目链接:https://ac.nowcoder.com/acm/contest/11255/G 题目大意:给你\(a,b,c\),求满足\(lcm(a+x,b+y)=c\)的最小的\(x+y\)值 题目思路:设\(A=a+x,B=b+y\),给的\(n\)和\(k_i\)很小,最多只有18,可以dfs暴力枚举所有符合条件的\(A\)和\(B\),通过剪枝优化可以AC,具体看代码吧,另外这个题数字很

HDU多校day2-1010I love permutation

I love permutation 题意: 给一个正整数 a a a和一个奇质数 p ( a <

__int128模板 输入输出

#include <bits/stdc++.h> using namespace std; inline __int128 read() { __int128 x=0,f=1; char ch=getchar(); while(ch<'0'||ch>'9') { if(ch=='-') f=-1; ch=getchar(); } while(ch>='0'&&

__int128 学习笔记

今天学习到__int128 类型 这是一个处理大数的很奇妙的方法。 正常来说,unsigned long long 已经是可以定义的最大的类型了,但是如果数据范围超过了2^64 就会爆炸。如果要处理比其大一点又不是那么大的数,就可以使用__int128这个定义。 注意:__int128 并不是所有编译器都可以使用

ACM模板

__int128 inline __int128 read() { __int128 x = 0, f = 1 ; char ch = getchar() ; while(ch < '0' || ch > '9') { if(ch == '-') f = -1; ch = getchar() ; } while(ch >= '0'&& ch <= '9

【gym 101955K】Let the Flames Begin(约瑟夫环问题)

题目链接 约瑟夫环算法参考 按上述回答中的方式进行编号,如果是 n n n个人围成一圈,每 k k k个人踢掉1

__int128

数据范围1e36,Linux系统才能用,要使用快读输入输出(cin/cout貌似也行) 可以#define int __int128 输入: inline __int128 in128() { __int128 res=0,p=1; char c=getchar(); while(c<'0'||c>'9') {if(c=='-') p=-1; c=getchar();} while(c>=

牛客线段树/树状数组练习

NC14522 珂朵莉的数列(int128+树状数组) 题意: 珂朵莉有一个序列,有n*(n-1)/2个子区间,求出每个子区间逆序对的对数 思路: 如果是只求整个序列的逆序对个数的话,直接从后向前树状数组动态加点统计当前有多少个小于当前点的数就好了 但是要算所有区间的对数的话,暴力肯定会超时,所以我们可

C/C++ __int128的使用

__int128在gcc、codeblocks、vs2017都是不被支持的,不过__int128在Linux上可以编译并且能用。 我们提交到大部分OJ上都是可以编译且能用的。 输入输出 C/C++标准IO是不认识__int128这种数据类型的,cin和cout是无法输出__int128的,所以我们要自己实现输入输出,其他的运算,与int没