Confusing Problem

InvalidDefinitionException: Problem deserializing ‘setterless‘ property (“authorities“): Caused by: com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Problem deserializing 'setterless' property ("authorities"): no way to handle typed deser with setterless yet at [Source: UNKNOWN; byte offset: #UNKNOWN] (through reference chain: c 阅读详情

北邮秋季赛  Confusing Problem


这个题比赛的时候没想出来,当时以为是数位dp,但是状态几乎都没法表示呀,单纯的以为  单独匹配A + 匹配B的 - 匹配A和B的,然后就没有然后了……

赛后看题解说是ac自动机+数位dp,猛然发现用ac自动机来构造状态时再合适不过了,题解是这样说的:


B 数位dp。

状态是dfs(i, m, s, e),i为当前做到前i位,m为是否已经匹配了两个串,s为走到自动机的节点s(或者kmp也能做),e为前i位是否是上限。


但是我敲了,仔细调试发现光有这些状态还是不行的,还要考虑到前缀是否为0,如果为0 ,那么当前i位可以为0,否则就必须从1开始

然后状态表示就是: dp[ pos ][ state] [ match ] [  zero ]  表示当前做到第i位,走到ac自动机state节点,目前是否匹配A或者B,前缀是否为0的个数


#include <cmath>
#include <cstdio>
#include <iostream>
#include <cstring>

using namespace std;

typedef long long ll;
const int NODE=150;
int chd[NODE][10],word[NODE],fail[NODE],sz;
int dig[50];
ll dp[50][NODE][2][2];

void ins(ll n)
{
    int pos=0;
    for(;n;n/=10) dig[pos++]=n%10;
    int p=0;
    for(int i=pos-1;i>=0;i--)
    {
        if(!chd[p][dig[i]])
        {
            memset(chd[sz],0,sizeof(chd[sz]));
            word[sz]=0;
            chd[p][dig[i]]=sz++;
        }
        p=chd[p][dig[i]];
    }
    word[p]=1;
}
int Que[NODE];
void ac()
{
    int *s=Que,*e=Que;
    for(int i=0;i<10;i++)
      if(chd[0][i]){
          *e++=chd[0][i];
          fail[chd[0][i]]=0;
      }
    while(s!=e)
    {
        int p=*s++;
        for(int i=0;i<10;i++)
          if(chd[p][i]){
             *e++=chd[p][i];
             fail[chd[p][i]]=chd[fail[p]][i];
             word[chd[p][i]]|=word[fail[chd[p][i]]];
          }else chd[p][i]=chd[fail[p]][i];
    }
}

ll dfs(int pos,int ok,int state,bool zero,bool doing)
{
    if(pos<0) return ok;
    if(!doing&&dp[pos][state][ok][zero]!=-1) return dp[pos][state][ok][zero];

    int end=doing?dig[pos]:9;
    ll ret=0;
    for(int i=zero?0:1;i<=end;i++)
    {
        int newstate=chd[state][i];
        ret+=dfs(pos-1,ok|word[newstate],newstate,zero&&!i,doing&&i==end);
    }
    if(!doing) dp[pos][state][ok][zero]=ret;
    return ret;
}

ll cal(ll n)
{
    int pos=0;
    for(;n;n/=10) dig[pos++]=n%10;
    return dfs(pos-1,0,0,1,1);
}

int main()
{
    ll L,R,A,B;
    int T;
    scanf("%d",&T);
    while(T--)
    {
        scanf("%lld%lld %lld%lld",&L,&R,&A,&B);
        sz=1;
        memset(chd[0],0,sizeof(chd[0]));
        ins(A);
        ins(B);
        ac();
        memset(dp,-1,sizeof(dp));
        printf("%lld\n",cal(R)-cal(L-1));
    }
    return 0;
}




shiro的session信息放redis反序列化异常解决 问题:Problem deserializing ‘setterless’ property (“realmNames”): no way to handle typed deser with setterless yet (through reference chain: org.apache.shiro.subject.SimplePrincipalCollection[“realmNames”])这个get方法被序列化了,并存到redis了,然后在反序列化的时候,又没有setter,就报了异常。 阅读详情

相关推荐

一份价值GitHub 17万star的CLAUDE.md 你值得拥有

这份CLAUDE.md之所以备受推崇,我想大概是因为文档极大规范了AI 的边界,让其沿着一条看得见的边线,在边线内部行走,而不是信马由缰 为所欲为。AI 时代,对AI规范的定义,我想是一个长期的话题,小伙伴们在日常开发中有哪些好用常用的规范?大家一起在评论区交流!

十年老程序猿,AI 疯狂研究专家,前沿硬核知识分享 458

springSecurity+redis反序列化失败--problem deserializing ‘setterless‘ property (“authorities“)

springSecurity+redis反序列化失败,problem deserializing 'setterless' property ("authorities"):no way to handle typed deser with setterless yet

Memory_2020的博客 5397

西门子 G120 变频器报文

G120报文

mmxxoo_xxmmp的博客 8086

Problem deserializing ‘setterless‘ property (“authorities“): no way to handle typed deser with sette

在getAuthorities方法上加上@JsonIgnore注解,直接解决!user继承了security的UserDetails,多了一个集合类型的getAuthorities方法。这里是关于springsecurity的报错问题。,所有导致无法序列化。

m0_75134325的博客 246

深入解析poi-tl自定义表格渲染插件中的多级子循环实现

本文深入解析了poi-tl自定义表格渲染插件中的多级子循环实现,详细介绍了其在处理复杂业务数据时的核心价值、实现原理及实战技巧。通过多级子循环机制,开发者可以高效地将层级数据结构渲染到Word表格中,显著提升代码简洁性和维护效率。文章还分享了性能优化和异常处理经验,帮助开发者更好地应用该插件。

weixin_33734785的博客 485

GitLab教程(四):分支(branch)和合并(merge)

命令进行合并时,Git具备一定的智能自动化处理能力:如果一个分支仅修改了文件A,而另一个分支独立地修改了文件B,Git能够无缝整合这些更改,自动完成合并过程——即最终的代码既包含了对A文件的修改也包含了对B文件的修改。同样地,若两个分支虽然都修改了同一个文件,但涉及的是文件中互不重叠的部分,比如一个改动发生在第一行,另一个则在第二行,Git同样能巧妙地自动合并这些非冲突性修改。获取了远程分支的最新变化,或者当你想要合并本地的一个分支到当前分支时,就会用到这个命令。,默认会尝试合并远程分支到当前分支。

TracyCoder的博客 7886

Problem Q

代码如下: #include #include using namespace std; bool com(int a,int b) {     return a } int main() {     long num = 0;     cin >> num;     int * arr = new int[num];     for(int i = 0;i

Ne_Tany的博客 566

ERGM指数随机图模型全解析:从基础原理到R语言实操

从社交网络中的互惠、传递性和同质性等基本现象切入,介绍网络数据与传统回归分析的本质差异——边与边之间的依赖关系。指数随机图模型(ERGM)正是为刻画这种依赖结构而设计的统计框架,它通过指数族分布将网络结构效应显式建模,结合MCMC方法完成参数估计。ERGM在组织协作、传播扩散、生物生态等领域的应用日益广泛,其扩展模型TERGM、GERGM和多层ERGM进一步支持时序、权重与多重关系网络。本文系统梳理ERGM的理论基础、核心统计量、扩展模型选型及R语言实操要点,帮助研究者理解网络生成机制并完成收敛性诊断与结果

weixin_29050271的博客 365

BUPT Confusing Problem(自动机+DP)

题目链接:http://acm.bupt.edu.cn/onlinejudge/newoj/showProblem/show_problem.php?problem_id=652 题意:给定数字A和B,问区间[L,R]之间有多少个数字不包含0且至少包含数字A或B中的一个? 思路:用A和B建立自动机。f[dep][id][allZero][ok]表示深度dep、节点id、之前是否全0、是否包含A...

weixin_34149796的博客 173

全球半导体设备氧化钇熔射服务行业规模预测:预计未来六年CAGR为7.8%

本文将对“半导体设备氧化钇熔射服务”行业进行深度分析,探讨市场趋势的演变、核心竞争者的战略布局、供应链结构的内外特点、研发创新的最新进展、法规政策环境的适应性调整以及投资机会与风险评估。这一稳健的增长趋势表明半导体设备氧化钇熔射服务在电子行业中的重要性逐渐增强。由于全球对于高效、高精度和可靠的电子解决方案的需求增加,对能够提供这些功能的半导体设备氧化钇熔射服务的需求日益增长。由于半导体设备氧化钇熔射服务主要为就地服务型,其“配送”主要依赖于专业团队和技术设备的及时调配,强调服务的时效性和高质量。

CC1239777的博客 571

Dify 第 7 篇 Dify 应用介绍 + 聊天助手&Agent 应用关键点说明

本文介绍了Dify应用的核心概念与使用方法。Dify是基于大模型构建的实际场景应用,提供API、WebApp和易用界面。包含5种应用类型:聊天助手、文本生成、Agent、对话流和工作流。创建方式有模板创建、空白应用和DSL文件三种。重点讲解了聊天助手和Agent应用的关键功能:聊天助手支持提示词优化、知识库引用、文件处理等;Agent应用则强调推理能力、工具调用和任务自动化。文章还详细介绍了应用的调试、发布和管理工具,为开发者提供了全面的应用构建指南。

甘蓝的专栏 1886

BUPT 652 Confusing Problem(AC自动机+数位DP)

转载请注明出处,谢谢http://blog.youkuaiyun.com/acm_cxlove/article/details/7854526       by---cxlove 给出一个区间,问这个区间内有多少个数不包含数字0,而且至少出现了一次A或者B http://acm.bupt.edu.cn/onlinejudge/newoj/showProblem/show_problem.php?pro

窝不是爱酱,喵~~~~ 1561

Keil uVision5 STM32 startup_stm32f10x_md_vl.s error A3906U Malformed via file target not created..

🏆 本文收录于《全栈Bug调优(实战版)》专栏,致力于分享我在项目实战过程中遇到的各类Bug及其原因,并提供切实有效的解决方案。无论你是初学者还是经验丰富的开发者,本文将为你指引出一条更高效的Bug修复之路,助你早日登顶,迈向财富自由的梦想🚀!同时,欢迎大家关注、收藏、订阅本专栏,更多精彩内容正在持续更新中。让我们一起进步,Up!Up!Up!    备注: 部分问题/难题源自互联网,经过精心筛选和整理,结合数位十多年大厂实战经验资深大佬经验总结所得,数条可行方案供所需之人参考。

**My Coding Family** 2778

Learn-Algorithms 之 Bitmap 位图法:用 1 个 bit 解决海量数据的去重、存在性判断与排序

在 Learn-Algorithms 仓库的「91 Algorithms In Big Data」目录中,[Bitmap.md](https://link.gitcode.com/i/4811657af756781009755d467d33eca0) 记录了海量数据处理中最基础也最实用的一类技巧——位图法(Bitmap):用 1 个(或几个)bit 位来标记某个元素对应的 value,从而以极小内

gitblog_00005的博客 478

【大模型+知识图谱】大模型与知识图谱融合:技术演进、实践应用与未来挑战

大模型与知识图谱的融合不是简单拼接,而是认知智能的范式重构。当符号主义的精确性与连接主义的泛化能力深度交织,我们正站在通向可信AGI的关键路口。正如OpenKG技术委员会王昊奋教授所言:“2025年将是图模协同从技术探索走向规模落地的分水岭”。参考文献OpenKG 2024年度报告(同济大学王昊奋)大型语言模型与知识图谱协同研究综述(海豚实验室,2024)知识图谱与大模型结合方法概述(黄巍,2023)图模互补:知识图谱与大模型融合综述(优快云,2024)

知识靠谱的博客 1092

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

AI编程Rules配置指南

本文摘要了两套技术规范: Cursor项目基于Vue3技术栈,使用npm管理依赖,要求结构化目录和严格命名规范(如组件PascalCase,文件kebab-case)。强调代码质量:异步需try-catch,组件需key,限制代码行数,优先使用const/箭头函数,禁止冗余抽象。 Claude项目提出AI编码原则:先思考后行动,明确假设;保持极简,拒绝过度设计;仅修改必要代码,保持原有风格;以可验证目标驱动开发,分步定义验收标准。核心是通过前置确认减少返工,平衡谨慎与效率。 两套规范均体现「少即是多」的工程

weixin_40521770的博客 80

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

1. Think Before Coding

**Don't assume. Don't hide confusion. Surface tradeoffs.** Before implementing: - State your assumptions explicitly. If uncertain, ask. - If multiple interpretations exist, present them - don't pick

gitblog_00003的博客 877

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

CLAUDE.md 规则集

Andrej Karpathy(OpenAI 联合创始人、前特斯拉 AI 总监)总结了 AI 编程助手最常见的,Forrest Chang 将其提炼为一个 70 行的 CLAUDE.md 文件。CLAUDE.md。

SamerDev的博客 312

英语语法最终珍藏版笔记- 20倒装

倒装 英语句子的语序一般是固定的:主语在前,谓语在后,这叫陈述语序。谓语的全部或一部分(助动词或情态动词)放在主语之前的现象称为倒装。倒装有两种情况:语法倒装和修辞倒装。因为语法结构而必须倒装的,叫语法倒装;为达到某种修辞目的而倒装的,叫修辞倒装。我们学习倒装的主要目的是增加对英语句式多样性的认识,以便在写作和口语中使用,这也是我们学习英语语法的主要目的。 一、语法倒装 1.一般疑问句和特殊...

weixin_30879169的博客 1162

数学分析和高等代数自学教材推荐

……

u013669912的博客 1163

SFT最佳实践-系列二

adj. 非故意的;无意识的adv. 后来,随后disjointdɪsˈdʒɔɪntv. 打散;拆开;(使)关节脱离;adj. 不连贯的;(两个集合)不相交的adj. 不可挽回的,无法逆转的;

wangkai6666的博客 248

生日悖论与哈希碰撞:开发者必知的概率陷阱

在计算机系统中,概率直觉往往与真实数学规律相去甚远。生日悖论揭示了在一个有限空间中,随着样本数量增长,碰撞概率远高于直觉预期。其核心原理为:当从M个可能值中随机抽取N个元素时,任意两个元素相同的概率约在N≈1.177√M时达到50%。这一数学结论在哈希函数设计、数据库索引、分布式系统唯一标识及信息安全领域具有关键指导意义。工程师常因此低估哈希冲突风险,误以为接近空间大小才需警惕。通过理解生日悖论,开发者可以合理选择哈希输出长度、评估UUID碰撞风险,并制定更稳健的工程方案——从缓存键策略到加密算法选型,乃至

weixin_33766805的博客 356

Rage PC Modding Notes Rage 模组制作 指南 二

所以当你编译你的mod,游戏确切地知道什么模型,声音,甚至 ai声明要添加到游戏中,(如果它是一个地图脚本,而你制作了地图,那么你就可以完成了。一个简单的项目道具可以帮助你在内存中获得模型网格,但那是 就在冰堡的顶端。(如果它是一个地图脚本,而你制作了地图,那么你就可以完成了。任何声音,道具,纹理等等…一个简单的项目道具可以帮助你在内存中获得模型网格,但那是 就在冰堡的顶端。X. > > > > External Appendix>外部附录。因此,如果你的脚本需要播放一个声音(存在或不存在),你就需要。

tailiangliang的专栏 169

OS19.【Linux】进程状态(1)

介绍了操作系统中的进程状态分类,包括运行状态、阻塞状态、挂起状态和就绪状态,并对比了不同操作系统教材中的定义差异。重点分析了Linux内核中的进程状态实现(R/S/D/T/t/X等),通过实验演示了进程在不同状态下的表现。特别解释了D状态(不可中断睡眠)的特性及其与S状态的区别,并提供了模拟高IO场景的代码示例。文章还涉及进程调度算法、前台/后台进程、虚拟内存管理等核心概念,最后介绍了交换分区及其查看方法。这些内容为理解操作系统进程管理机制提供了全面指导。

zhangcoder的博客 记录学习轨迹~ 1896

微积分导读:从圆周率到导数与积分

……

u013669912的博客 1400

MYSQL SQL 执行系列1

0)摘要(digest)是 SQL 语句规范化后的哈希,用于 performance_schema 中的语句统计和慢查询日志中的样本记录。如果全局变量非零(表示启用 digest 收集),则通知词法分析器在解析过程中计算 digest。

Piemon&Anokata的博客 396
上一篇: CF 148D. Bag of mice
下一篇: POJ Contest - ACM Trainning
struggle_mind
博客等级 码龄15年 39粉丝 153原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值