07 2025 档案

摘要:L 题意:构造一个长度为2n的括号序列,满足字典序最小且在给出的q个区间内都至少有一个左括号 思路: 为了满足字典序尽量小,一定想把左括号放在靠左的位置 为了满足区间至少有一个左括号,需要贪心地按左端点从大到小排序,将左括号依次放在区间的左端点。如果区间已经有左括号,直接跳过 -1的情况是左括号数量 阅读全文
posted @ 2025-07-31 18:07 Marinaco 阅读(226) 评论(0) 推荐(0)
摘要:1008 狗日的被这题卡了:( 题意:给定一个长度为n的数组a。以及x>=y>=z三个参数 现在要求构造排列使数组重新排序 初始权值S为0 当 a_p[i]>a_p[i-1] , S+=x 当 a_p[i]=a_p[i-1] , S+=y 当 a_p[i]<a_p[i-1] , S+=z 求能构造的 阅读全文
posted @ 2025-07-28 18:53 Marinaco 阅读(33) 评论(0) 推荐(0)
摘要:A void solve(){ int n;cin>>n; int l,r;cin>>l>>r; string s;cin>>s; s=" "+s; for(int i=l;i<=r;i++){ if(s[i]=='x'){ cout<<"No"<<endl; return; } } cout<<" 阅读全文
posted @ 2025-07-26 22:39 Marinaco 阅读(38) 评论(0) 推荐(1)
摘要:bitset可以开到1e6左右 int n; pii a[505]; void solve(){ cin>>n; rep(i,1,n)cin>>a[i].fi>>a[i].se; int cnt=0; vector<bitset<1000001>>f(n+1); f[0][0]=1; rep(i,1 阅读全文
posted @ 2025-07-26 16:24 Marinaco 阅读(31) 评论(0) 推荐(0)
摘要:1007 题意:划分n个区间。一个数属于某个区间则获得其区间的性质。问一共有多少个不同性质的点 思路: 很快想到了哈希,但是离散化出了问题 显然将区间端点离散化,并为每个区间赋哈希值。再通过差分,统计不同大小的数即可 要注意:1.差分是对l,r+1进行操作的,因此差分时要对r+1进行额外的离散化 2 阅读全文
posted @ 2025-07-25 19:32 Marinaco 阅读(47) 评论(0) 推荐(0)
摘要:A void solve(){ int a,b,c;cin>>a>>b>>c; if(b>c){ if(a>=b&&a<24||a>=0&&a<c)cout<<"No"<<endl;else cout<<"Yes"<<endl; }else{ if(0<=a&&a<b||a>=c)cout<<"Ye 阅读全文
posted @ 2025-07-24 23:02 Marinaco 阅读(19) 评论(0) 推荐(0)
摘要:"这场多校是不是对标 wf" B 题意: 给定nxm的01矩阵,其中1代表障碍。以及给定视野范围[y,y+k] 起点(1,1)->终点(1,m) 每次只能往 右 ,上/下走一步 问是否有可能在视野受限的情况下走到当前视野下不知道能否抵达终点的死胡同 思路: 通过分别从起点和终点开始搜索,确定死胡同点 阅读全文
posted @ 2025-07-24 19:49 Marinaco 阅读(51) 评论(0) 推荐(0)
摘要:struct PT{ static constexpr int N=2e5+5; //值域 int up; vector<int>b; map<int,int>mp; int cntNodes,root[N]; struct node{ int l,r; int cnt; }tr[4*N+17*N] 阅读全文
posted @ 2025-07-23 20:06 Marinaco 阅读(18) 评论(0) 推荐(0)
摘要:struct SuffixAutomaton { static constexpr int N = 1e6; struct node { int len, link, nxt[26]; int siz; } t[N << 1]; int cntNodes; SuffixAutomaton() { c 阅读全文
posted @ 2025-07-23 19:43 Marinaco 阅读(12) 评论(0) 推荐(0)
摘要:E 题意: 给定数组。每次可以挑两个除它们的约数,或者同时乘以某个数。求是否能让全变为某个数 思路: 发现n为奇数时一定可以 n=2时特判 n为偶数时,只要有一个质因子出现次数为奇数就不可以 普通质因数分解O(nsqrt(V))不行 使用异或哈希,为每一个质因子分配一个哈希值。通过欧拉筛法把合数的哈 阅读全文
posted @ 2025-07-22 18:03 Marinaco 阅读(102) 评论(0) 推荐(0)
摘要:这场才做出来三个,艰难依旧坚持 09 苹果树 依然树剖 题意: 给定一棵树,q次查询 查询1:查找x,y路径上的最大值 查询2:使结点x邻接的结点+z 思路: 树剖+线段树板子容易维护查询1 重点在于查询2 与x的邻接结点:x的父亲结点(若有) + x的儿子结点(若有) 显然如果暴力维护查询2,最坏 阅读全文
posted @ 2025-07-21 19:54 Marinaco 阅读(59) 评论(0) 推荐(0)
摘要:被C卡了 不是为啥啊 C 题意: 判断是否能够通过状态转移使0转移到2^n-1 其中有些状态无法转移 思路: 这题要用dp。:( dp[0]=1,如果状态可以被转移,那么按位判断 void solve(){ int n;cin>>n; string s;cin>>s; int m=s.size(); 阅读全文
posted @ 2025-07-19 22:33 Marinaco 阅读(54) 评论(0) 推荐(0)
摘要:10 题意:给定一个排列,对于每一个1<=i<=j<=n,当(j-i+1)为奇数时,求和ixjxmid(a[i]~a[i]) 思路: 注意到n<=2000,可以使用暴力枚举加主席树维护区间第k小解决 struct PT{ static constexpr int N=2e5+5; int cntNo 阅读全文
posted @ 2025-07-19 11:52 Marinaco 阅读(144) 评论(0) 推荐(0)
摘要:要复健了:( A void solve(){ int n;cin>>n; vector<int>a(n+1); rep(i,1,n){ cin>>a[i]; } rep(i,2,n){ if(abs(a[i]-a[i-1])!=5&&abs(a[i]-a[i-1])!=7){ cout<<"NO"< 阅读全文
posted @ 2025-07-14 21:42 Marinaco 阅读(13) 评论(0) 推荐(0)
摘要:小记 前几天看程序员的修炼之道的时候无意发现早年间一些大佬的博客,发现它们的博客风格非常干净,看得很舒服。 所以我决定这几天利用Hugo搭建一个个人域名的博客,学习一下这种内容至上的博客风格。到时候博客园这个博客应该就只会更新一点零碎的东西,也好提升一下自己博客的逼格(bushi) 大概从去年11月 阅读全文
posted @ 2025-07-03 08:10 Marinaco 阅读(36) 评论(0) 推荐(0)

//雪花飘落效果