ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

端午节做题记录

2022-06-25 21:02:50  阅读:231  来源: 互联网

标签:AC LibreOJ 记录 端午节 record -------------------------------------------------------


前言

艹原来本来十六点就写好了,突然洛谷的博客功能不能全选了,一Ctrl+A就tm内容全没,调了半天,还得从写啊啊啊。

然后还看到一个退役的高二学长回关我了,,,55555好感动

目录

//--------------------------------------------------------------------------------------------------------------------------

P2417 课程

二分图最大匹配

但我想了想,可不可以直接暴力算出sum之后跟p比大小呢?

如果不卡常不吸氧好像都可以过,

然后。。。。

真过了!

AC record

//--------------------------------------------------------------------------------------------------------------------------

P3722 [AH2017/HNOI2017] 影魔

通过线段树求解出这一个东西。对于i,找到右边大于他的第一个数,如果没有,自然是最后一个数,但是这样不好,于是我们加一个第n+1个数为+∞。然后设ri为右边大于他的第一个数,那么[i,i+1]、[i,i+2]、......[i,ri]都符合条件,于是在线段树中对于[i+1,ri]+=p2。对于全部询问排序,给以i为左端点的区间加上贡献,查询[i+1,R]的和。反过来再搞一遍,注意询问区间也要反过来。

AC record

//--------------------------------------------------------------------------------------------------------------------------

P4568 [JLOI2011] 飞行路线

分层图最短路板子

跑个Dijkstra就行

AC Record

//--------------------------------------------------------------------------------------------------------------------------

P4495 [HAOI2018] 奇怪的背包

重点是题目转化:

题目转化成了求有多少个子集满足\(gcd(v_1,v_2..v_n,P)\)

核心转移方程

dp[k]=(dp[k]+(f[a[i]]-1)*fdp[j])%mod;

AC record

//--------------------------------------------------------------------------------------------------------------------------

P4728 [HNOI2009] 双递增序列

核心转移方程

dp[i][j]=min(dp[i][j],a[i-1]);

AC record

//--------------------------------------------------------------------------------------------------------------------------

P4719 【模板】"动态 DP"&动态树分治

这道题就是没有上司的舞会动态。

首先DP的状态转移方程一般很好推。

f[x][0]=a[0][0],f[x][1]=a[0][1];

但维护起来特别麻烦,很容易超时

AC record

//--------------------------------------------------------------------------------------------------------------------------

P4751 【模板】"动态DP"&动态树分治(加强版)

在P4719的基础上,不使用树剖套线段树来维护矩阵,而是改为使用\(LCT\)来维护矩阵

AC record

//--------------------------------------------------------------------------------------------------------------------------

P4922 [MtOI2018] 崩坏3?非酋之战!

贪心 + Dp + 滚动数组

cnt = min(r,i+j+max((int)0,(l-f[i&1][j]+dp-1)/dp));

AC record

//--------------------------------------------------------------------------------------------------------------------------

P3224 [HNOI2012] 永无乡

启发式合并就是在合并两个集合时,把size小集合中的所有元素一个一个加入到size大的集合。这个操作是\(nlogn\)的。

这个题目是并查集和Treap的综合题。

用并查集来维护哪些岛屿已经联通了。

Treap用来求第\(K\)大的岛。

AC record

//--------------------------------------------------------------------------------------------------------------------------

P8376 [APIO2022] 排列

这种新式儿的题目(可能是我孤陋寡闻)我真是第一次见,就因为一个int 64 CE了好几次。。。。

核心代码

a.push_back(deque_news++);
a.insert(a.begin()+2,deque_news++)

AC record

//--------------------------------------------------------------------------------------------------------------------------

P8378 [PFOI Round1] Two Sequences

结论题:\(((n-1)*n/2*(n-2)*(n-2))\)

注意开long long

AC record

//--------------------------------------------------------------------------------------------------------------------------

P8379 [PFOI Round1] Two Operations

赛时写的数据点4的部分分,就吃饭去了。后来现在把100的写了一下,但是刚开始自己在在线IDE跑了一个自己hack的数据,270多MB,后来调了很久。

核心代码

printf("%lld",q1.top()*inv);

当然,还需要快速幂。

AC record

//--------------------------------------------------------------------------------------------------------------------------

P8366 [LNOI2022] 题

核心状态转移方程

dp(f[i+1&1][1][2][3][21-1][13][32],21*x);

AC record

//--------------------------------------------------------------------------------------------------------------------------

P6563 [SBCOI2020] 一直在你身旁

一道非常烦的细节dp题

然后也是因为长度越长,花费越大,所以当最大值是 dp[l][k]时,肯定是 k 越小,dp[l][k] 越小, a[k] 越小,所以 dp[l][k] + a[k] 越小,所以此时的总的最小值直接取我们找到的那个中间点的位置就好了。

而当最大值是dp[k+1][r]时,我们直接对这一部分维护一个单调队列就好了。

核心转移方程

dp[l][r]=min(dp[l][r],dp[q[x]+1][r]+a[qx]]);

AC record

//--------------------------------------------------------------------------------------------------------------------------

P5851 [USACO19DEC] Greedy Pie Eaters P

满足更新一个点不用没有更新的点

因为都是长度短的更新长度长的,按照长度枚举

AC record

//--------------------------------------------------------------------------------------------------------------------------

P2583 地铁间谍

核心转移方程

f[j][i]=min(f[j][i],f[j+1][i-dp[j]]);

AC record

//--------------------------------------------------------------------------------------------------------------------------

AT5761 Odd Sum Rectangles

刚开始写的dp写挂了后改的深搜,结果过不了样例,但还是AC了,,,,,

但它不是spj吧。。。

AC record

//--------------------------------------------------------------------------------------------------------------------------

LibreOJ #2461. 「2018 集训队互测 Day 1」完美的队列

双二分题目

在循环结构中同时存储两份l,r即可。

//--------------------------------------------------------------------------------------------------------------------------

UOJ #93. 【集训队互测2015】上帝之手

线段树板子

只需要加个前缀和优化

for(f[n]=0,i=n-1;i;i--)
    f[i]+=f[i+1];

//--------------------------------------------------------------------------------------------------------------------------

P2183 [国家集训队]礼物

先用组合数进行化简

然后就可以直接扩展卢卡斯了!

AC record

//--------------------------------------------------------------------------------------------------------------------------

LibreOJ #3258. 「ROIR 2020 Day 1」超速

这个题比完美的队列那个题还要水。。。。

一层二分就可以了

但是很麻烦,要开三个数组进行维护

t+=l[i]/1.0/(v[i]+a[m]);

//--------------------------------------------------------------------------------------------------------------------------

P2350 [HAOI2012] 外星人

这个题非常考验数学基础

幸好最近在学导数的应用这一段,老师还带我们刷了好多导数题,快一百了吧。所以很快的就算出来了。

AC Record

//--------------------------------------------------------------------------------------------------------------------------

AT5695 [AGC041D] Problem Scores

常见背包问题。

多了几个限制而已

f[j-a[i]]=(f[j-a[i]]+f[j]);

AC record

//--------------------------------------------------------------------------------------------------------------------------

LibreOJ #6031 「雅礼集训 2017 Day1」字符串

后缀自动机+dfs

//--------------------------------------------------------------------------------------------------------------------------

标签:AC,LibreOJ,记录,端午节,record,-------------------------------------------------------
来源: https://www.cnblogs.com/spaceswalker/p/16412383.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有