天津网站建设哪家权威株洲在线论坛招聘求职

diannao/2026/1/23 8:40:52/文章来源:
天津网站建设哪家权威,株洲在线论坛招聘求职,贵州建设监督管理局网站,做设计找素材都有什么网站文章目录考试复盘matrixsetstring考试复盘 首先先说T1T1T1#xff0c;嗯#xff0c;发现了列是相互独立的#xff0c;所以分开考虑了 但是实在没想到线性基#xff0c;就顺着自己的思路硬搞了505050跑路 老实说#xff0c;505050分的部分分写得都是迷迷糊糊的#xff0c;… 文章目录考试复盘matrixsetstring考试复盘 首先先说T1T1T1嗯发现了列是相互独立的所以分开考虑了 但是实在没想到线性基就顺着自己的思路硬搞了505050跑路 老实说505050分的部分分写得都是迷迷糊糊的重构了好几遍 幸好过了不然自己今天就是个圆溜的零光蛋了 没想到的点 线性基二进制的加法可以转化为异或bitset优化 再说T2T2T2嗯——怎么说呢 想到了枚举最小值然后线段树找符合的区间[val,val∗2)[val,val*2)[val,val∗2) 然后想到了三维的过原点立方体 就不会了—— 主要是之前没碰到过只做过二维的可以用setsetset整活 这次遇到了积累 幸好有202020的两种颜色数据 可是我还是没拿到 因为忘记减去(0,0,0)(0,0,0)(0,0,0)三元组情况 发生这种过失性丢分的唯一原因就是没有好好分析样例 给自己敲个警钟 没想到的点 扫描线线段树维护二维 注意的点 仔细分析样例 最后说一下T3T3T3 其实很长一段时间是没有看懂题面的 样例也想不懂 是中午吃饭的时候去操场逛了两圈才想懂了样例题面的意思 回来匆匆敲个暴力还没过样例害~ 没想到的点 后缀数组同构字符串的转化——真的学到了 不过必须表扬自己认真磕出了样例 那为毛不磕一下T2T2T2的样例想穿越回去抽自己 说一下今天考试的自我感受 树立了自信心因为整体来看自己对这套题目的正确性应该是有50%50\%50%的省选并没有自己想象得那么恐怖可以说这一场考试是有史以来最认真的了从头到尾都在努力思考第一次写满了整整一张的思路推理验算也发现其实在自己一步步的推演下正解仿佛就只隔了一个教室而已hhhh真的跟着学长们一起会有那种学习认真的氛围而且今天确实学到了很多也觉得他们和自己同班的同学都很强自己也要继续努力 matrix 在二进制下加法等价于异或 ∑k1nA[i][k]×C[k][j]\sum_{k1}^nA[i][k]\times C[k][j]∑k1n​A[i][k]×C[k][j] ∑k∈SC[k][j]B[i][j]×C[i][j]\sum_{k∈S}C[k][j]B[i][j]\times C[i][j]∑k∈S​C[k][j]B[i][j]×C[i][j] 都是第jjj列说明每列是相互独立的那么单独考虑每一列统计答案时把所有列的方案数乘起来即可 若B[i][j]0B[i][j]0B[i][j]0则等式右边为000 若B[i][j]1B[i][j]1B[i][j]1则等式右边为C[i][j]C[i][j]C[i][j] 因为是异或所以两边都可以再异或上C[i][j]C[i][j]C[i][j] ∑k∈S′C[k][j]0\sum_{k∈S}C[k][j]0∑k∈S′​C[k][j]0 **这里尚有问题提醒自己一下 #include cstdio #include bitset using namespace std; #define maxn 205 #define mod 998244353 int n, cnt, ans 1; int A[maxn][maxn], B[maxn][maxn]; bitset maxn lib[maxn], t;int qkpow( int x, int y ) {int res 1;while( y ) {if( y 1 ) res 1ll * res * x % mod;x 1ll * x * x % mod;y 1;}return res; }int main() {scanf( %d, n );for( int i 1;i n;i )for( int j 1;j n;j )scanf( %d, A[i][j] );for( int i 1;i n;i )for( int j 1;j n;j )scanf( %d, B[i][j] );for( int j 1;j n;j ) {for( int i 1;i n;i )lib[i].reset();cnt 0;for( int i 1;i n;i ) {t.reset();for( int k 1;k n;k )if( A[i][k] ) t.flip( k );if( B[i][j] ) t.flip( i );for( int k 1;k n;k )if( t[k] ) {if( lib[k].any() ) t ^ lib[k];else {lib[k] t;cnt;break;}}}ans n - cnt;}ans qkpow( 2, ans );printf( %lld\n, ans );return 0; }set 枚举所选集合中最小的权值forforfor循环扫一遍求出[val,val∗2)[val,val*2)[val,val∗2) 里所有的物品这些都是可选的 对于求出的数量用三元组表示r,g,br,g,br,g,b 那么每一种颜色的选择都是[0,r],[0,g],[0,b][0,r],[0,g],[0,b][0,r],[0,g],[0,b] 放在三维坐标里就是求过原点的一个立方体的体积 考试的时候就只想到了立方体发现自己只会平面的所以这道题敲不来 用扫描线维护一维rrr 具体来说就是对于三元组(r,g,b)(r,g,b)(r,g,b) 在rrr时刻将(g,b)(g,b)(g,b)插进去 从大到小计算 因为在rrr时刻的(g,b)(g,b)(g,b)二元组一定在r−1r-1r−1时刻也是正确的 从小到大有的二元组会涉及到删除对于蒟蒻来说不好做因为我扫描线就很困难了好吧 剩下两维的平面直角坐标系计算围成的面积以前做过这种题 用setsetset或者线段树都可以做 #include cstdio #include vector #include iostream #include algorithm using namespace std; #define maxn 500005 struct node {int val, c;node(){}node( int Val, int C ) {val Val, c C;} }v[maxn]; vector pair int, int G[maxn]; int n; int tot[3]; long long tree[maxn 2], tag[maxn 2], maxx[maxn 2];bool cmp( node x, node y ) {return x.val y.val; } int id( char c ) {if( c R ) return 0;if( c G ) return 1;if( c B ) return 2; }void pushdown( int num, int l, int r ) {if( tag[num] ) {maxx[num 1] tag[num 1] tag[num];maxx[num 1 |1] tag[num 1 | 1] tag[num];int mid ( l r ) 1;tree[num 1] tag[num] * ( mid - l 1 );tree[num 1 | 1] tag[num] * ( r - mid );tag[num] 0;} }void modify( int num, int l, int r, int L, int R, int val ) {if( L l r R maxx[num] val ) {tree[num] 1ll * val * ( r - l 1 );maxx[num] tag[num] val;return;}if( l r ) return;int mid ( l r ) 1;pushdown( num, l, r );if( L mid maxx[num 1 | 1] val )//如果是被完全包含的面积是不进行计算的 这里可以多想想modify( num 1, l, mid, L, R, val );if( mid R )modify( num 1 | 1, mid 1, r, L, R, val );tree[num] tree[num 1] tree[num 1 | 1];maxx[num] max( maxx[num 1], maxx[num 1 | 1] ); }int main() {scanf( %d, n );int x; char color[3];for( int i 1;i n;i ) {scanf( %d %s, x, color );v[i] node( x, id( color[0] ) );}sort( v 1, v n 1, cmp );G[0].push_back( make_pair( 0, 0 ) );int j 1;for( int i 1;i n;i ) {while( j n v[j].val ( v[i].val 1 ) )tot[v[j].c] , j ;G[tot[0]].push_back( make_pair( tot[1], tot[2] ) );tot[v[i].c] --;}long long ans 0;for( int i n;~ i;i -- ) {//扫描线去掉一维 相当于切立方体的厚度 切成厚度为1的多个面状for( int j 0;j G[i].size();j )modify( 1, 0, n, 0, G[i][j].first, G[i][j].second 1 ); //加1是因为这个面积是和原点相围成的 画画图会发现其实需要列拔高一层ans tree[1];}printf( %lld, ans - 1 );//不算(0,0,0)return 0; }string 对于一个字符串将第一次新出现的字符设为000其余位置赋值为该位置减去上一次字符出现的位置 这样的转化就将同构字符串改写成完全相同的数字串了 这里真的太巧妙了第一次遇到记下来 求本质不同的子串就是后缀数组的基础了 所有子串长度−-−heightheightheight数组之和 但是 题目是处理子串之间的问题 那么就有子串的改写会与原串的改写有出入的问题 就是说子串中第一次出现的某个字符不一定是原串整个串中第一次出现 那么子串该位置就需要修改为000 一共只有262626个字符所以子串最多只会有262626个位置与原串不一样 可以人为暴力排序 将一段根据修改的000划分成若干段 两个子串的cmpcmpcmp比较如果是相同的部分就用原串的后缀数组sasasa搞定更改过的地方就暴力比较 总结一下代码实现思路 对原串改写对原串后缀数组利用原串的后缀数组再次暴力排序后缀求出按照新规定下排好的后缀之间的lcplcplcp之和子串总长度减去lcplcplcp之和 #include cmath #include cstdio #include cstring #include iostream #include algorithm using namespace std; #define maxn 100005struct node {int n, m;int x[maxn], id[maxn], rnk[maxn 1], h[maxn], sa[maxn], tot[maxn];int st[maxn][20];void suffix( int N, int *s ) {n N, m N 1;for( int i 1;i n;i ) tot[x[i] s[i]] ;for( int i 1;i m;i ) tot[i] tot[i - 1];for( int i n;i;i -- ) sa[tot[x[i]] --] i;for( int k 1;k n;k 1 ) {int num 0;for( int i n - k 1;i n;i ) id[ num] i;for( int i 1;i n;i ) if( sa[i] k ) id[ num] sa[i] - k;memset( tot, 0, sizeof( tot ) );for( int i 1;i n;i ) tot[x[i]] ;for( int i 1;i m;i ) tot[i] tot[i - 1];for( int i n;i;i -- ) sa[tot[x[id[i]]] --] id[i];for( int i 1;i n;i ) rnk[i] x[i];x[sa[1]] num 1;for( int i 2;i n;i )x[sa[i]] ( rnk[sa[i]] rnk[sa[i - 1]] rnk[sa[i] k] rnk[sa[i - 1] k] ) ? num : num;if( n num ) break;m num;}for( int i 1;i n;i ) rnk[sa[i]] i;int k 0;for( int i 1;i n;i ) {if( rnk[i] 1 ) continue;if( k ) k --;int j sa[rnk[i] - 1];while( i k n j k n s[i k] s[j k] ) k ;h[rnk[i]] k;}for( int i 1;i n;i ) st[i][0] h[i];for( int j 1;j 20;j )for( int i 1;i n;i )if( i ( 1 j - 1 ) n ) break;else st[i][j] min( st[i][j - 1], st[i ( 1 j - 1 )][j - 1] );}int lcp( int l, int r ) {if( l 0 || r 0 || l n || r n ) return 0;if( l r ) return n - l 1;l rnk[l], r rnk[r];if( l r ) swap( l, r );l ;int i log( r - l 1 ) / log( 2 );return min( st[l][i], st[r - ( 1 i ) 1][i] );}}SA; int n; char s[maxn]; int last[maxn], idx[maxn], t[maxn]; int nxt[maxn][30];int LCP( int x, int y ) {int sx x, sy y;x --, y --;int len 0;for( int i 0;i 26 x 1 n y 1 n;i ) {int l SA.lcp( x 1, y 1 );if( x l 1 nxt[sx][i] y l 1 nxt[sy][i] ) return len l;if( nxt[sx][i] - sx nxt[sy][i] - sy ) {//如果一段都是相同 就一段段的跳len nxt[sx][i] - x;x nxt[sx][i], y nxt[sy][i];}else {if( nxt[sx][i] - sx nxt[sy][i] - sy )return len nxt[sx][i] - x - 1;elsereturn len nxt[sy][i] - y - 1;}}return len; }bool cmp( int x, int y ) {int len LCP( x, y );if( x len n || y len n ) return x len n;int vx t[x len], vy t[y len];for( int i 0;i 26;i )if( nxt[x][i] x len ) { vx 0; break; }for( int i 0;i 26;i )if( nxt[y][i] y len ) { vy 0; break; }return vx vy; }int main() {scanf( %d %s, n, s 1 );for( int i 1;i n;i ) {int j s[i] - a;if( ! last[j] ) t[i] n 1;else t[i] i - last[j];last[j] i, idx[i] i;}SA.suffix( n, t );for( int i 0;i 26;i ) nxt[n 1][i] n 2;for( int i n;i;i -- ) {for( int j 0;j 26;j )nxt[i][j] nxt[i 1][j];nxt[i][s[i] - a] i;}for( int i 1;i n;i )sort( nxt[i], nxt[i] 26 );sort( idx 1, idx n 1, cmp );long long ans 1ll * n * ( n 1 ) / 2;for( int i 1;i n;i )ans - LCP( idx[i], idx[i 1] );printf( %lld\n, ans );return 0; }后记大概会在周末进行再次复盘重新消化吸收顺便看看到时候自己是否会将好不容易转操场想懂的地方又搞懵 走了回家睡觉现在时间2021/3/15 22:48

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/88989.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

做展示型企业网站仿牌外贸网站推广

目录 一、平台 二、数据 三、代码 3.1 文件组织结构 3.2 lasDataLoader.py 读取数据 3.3 修改原始模型的通道数量 3.4 lasTrainSS.py【训练】 3.5 lasTestSS.py【预测】 一、平台 Windows 10 GPU RTX 3090 CUDA 11.1 cudnn 8.9.6 Python 3.9 Torch 1.9.1 cu111…

镇江网站制作费用电商系统服务好的商家

【QT 5 调试软件Linux下验证>>>>串口相关初试串口参考win下历程基础样例】 1、前言2、实验环境3、先行了解4、自我总结-win下工程切到Linux下1、平台无关的代码:2、依赖的库:3、文件路径和换行符:4、编译器差异:5、构…

网站模板如何优化下列不属于网站建设规划

交换文件 *.swp 格式 同时是隐藏的 如在vim一个文件, 在没有正常退出, 如直接断开连接 在次编辑这个文件 会出现下图的错误 解决方案: 直接删除这个交换文件即可 rm -fr .zen.txt.swp

增加网站点击量黑龙江建设厅官网

Kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效,Kubernetes提供了应用部署,规划,更新,维护的一种机制。 Kubernetes一个核心的特点就是能够自主…

东莞做公众号的网站wordpress文章序号排列

##人生苦短,我用python #pandas ##首先讲讲数据格式,csv文件格式,程序之间表格数据之间的转移,如从数据库导入到excel中csv是很合适的转移格式。 #1.纯文本,使用某个字符集,比如ascii,Unicode&a…

机械制造设备类企业网站织梦模板wordpress手机展示

通过一些实际项目的开发,发现这样一个现象,在 Windows 下可以通过指定 __declspec(dllexport) 定义来控制 DLL(动态链接库)中哪些函数可以导出,暴露给其他程序链接使用,哪些函数是 DLL 内部自己使用&#x…

网络购物网站备案山西众邦建设集团网站

1、简述 UDP是无连接的,在UDP传输层中并没有客户端和服务端的概念。但是可以在应用层定义客户端和服务端,可以灵活的互换客户端和服务端,或者同时既是客户端也是服务端。 HP-Socket中在应用层定义了四种UDP组件:UdpClient、UdpS…

做百度微信小程序都有哪些网站有域名有空间怎么做网站

FastReport VCL报表控件是著名的 Delphi 打印控件。含全部源码。支持 Delphi 10.2 Tokyo,FastReport可以在大量的方式报表的创建过程中操纵对象。快速发展的报表和随后的打印,这样的优点,正如预览打印文档的外观。专业版除了报表标准版的功能…

网站制作公司套路网站建设制作介绍河南

2.5.6.22021.10.13支持自定义列字体颜色,具体见PR#342,感谢xiangxiren修复日期格式化的问题,具体见PR#344,感谢ccccccmd2.5.6.12021.10.06修复 #337,bool?类型导出的映射问题2.5.6.02021.10.05合并Magicodes.EPPlus到…

西安专业的网站优化好口碑自适应网站建设

引用:MyBatis的删除、修改、插入操作!!!-CSDN博客的准备工作!!!(准备工作都一样只不过文件名称有所不同) 1.利用原始DAO开发,查询所有的信息。 UserDao&#…

百度竞价找谁做网站企业网站开发工具

卷筒纸不干胶印刷时,纸张的走向与一般印刷方法不同,它是以轴向跳格移动实现套印的,即在印版滚筒上同时装上几套印版,当不干胶在压印平台上每跳移一次,印版滚筒水平方向作往复旋转一次,就可实现印刷一个颜色…

做网站美工的前途怎么样企业管理软件市场规模

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 前言 接上文。 一、1月10号 牛客网公司真题_免费模拟题库_企业面试|笔试真题 1、题目1 …

国外代码开源网站网页制作与网站开发

云计算如今已经变得无处不在,并显著影响着日常生活的各个方面。然而,重要的是要注意云计算技术是不断发展的。最近向远程工作的转变促使企业加快数字化转型,更多地采用云计算服务。 即使在新冠疫情消退之后,云计算技术的采用也获得…

南通做网站优化网站建设一般多少

背景 众所周知,近几年国内用户在访问Github时,经常间歇性无法访问Github。 接下来推荐几款 作为程序员不得不知道的Github加速神器。 推荐1:FastGithub FastGithub是一款Github加速神器,解决github打不开、用户头像无法加载、r…

国外设计网站app吗昆明优秀网站

当应用调用CameraManager#openCamera获取到已打开的camera设备后,会调用createCaptureSession方法来完成camera stream创建和stream的相关配置。在createCaptureSession方法中,首先将应用的surfaces信息封装成可跨binder传递的OutputConfiguration对象&a…

乐清开发网站公司青岛工程建设管理信息网官方网站

题意: 给定前序遍历和中序遍历,问u和v的lca (先是中序,后是中序) 题解: 方法一: 参考题解 将树映射到一颗BST上,在BST上找到答案然后再映射回原本的树 方法二: 参考题…

番禺核酸检测点查询哈尔滨网站seo公司

目录 一、前言 二、通过类型来获取Bean 0.总述(重要) : 1.基本介绍 : 2.应用实例 : 三、通过指定构造器为Bean注入属性 1.基本介绍 : 2.应用实例 : 四、通过p命名空间为Bean注入属性 1.基本介绍 : 2.应用实例 : 五、通过ref引用实现Bean的相…

dw怎么切片做网站龙岗网站

目录 一、Ajax 1、简介 2、Axios (没懂 暂留) (1)请求方式别名 (2)发送get请求 (3)发送post请求 (4)案例 二、前端工程化 1、Vue项目-目录结构 2、…

举报不良网站信息怎么做网站开发 后端

本文主要介绍的是一个球形水波的百分比控件,市面上有各种形形色色的百分比控件,我一直觉得水波是最炫的,UI给了我这个机会,然而网上搜了一大堆,不是太复杂,代码太多(反正我是调不出效果来),就是…

中国网站开发哪里可以做企业网站

破解root密码(Linux 7) 1、先重启——e 2、Linux 16这一行 末尾加rd.break(不要回车)中断加载内核 3、再ctrlx启动,进入救援模式 4、mount -o remount,rw /sysroot/——(mount挂载 o——opti…