传送门 解题思路 很容易想到用最短路来解决这一道问题(题解法),因为两个点之间可以互相无限走,所以如果到某个点的最短路是x,那么x+2,x+4也一定能够达到. 但是如何保证这是正确的呢?比如说到某个点的最短路是x,为什么不可能走一下弯路,是某一条路径的长度是x+1或者x+3或者x+5呢? 所以就用到了奇偶最短路.所谓奇偶最短路,就是对于每一个点,记录下走偶数步的最短路(ou[i])和走奇数步的最短路(ji[i]),转移式为: ji[v]=min(ou[u]+1,ji[v]); ou[v]=min…
传送门 洛谷改域名了QAQ 解题思路 没什么好说的,一道红题,本不想发这篇博客 ,但还是尊重一下CCF吧QAQ,怎么说也是第一年CSP呢! 用getchar一个个读入.判断.累加,最后输出即可. 不过要注意getchar是包含在cstdio库里的. AC代码 #include<iostream> #include<cstdio> using namespace std; int ans; int main() { ;i<=;i++){ ') ans++; } cout<…
题目传送门 解题思路: 最暴力的做法: bfs模拟,每次将一个阶段的所有点拿出来,将其所有直连的点都放进队列,知道本阶段结束,最后看1号点会不会在最后一个阶段被放入队列.(洛谷数据40分) 优化了一下代码: 上面的做法我用了两个队列,发现代码可以优化一下,用一个队列.(洛谷数据55分). 正解: 对于一个点,如果它加工的零件是偶数阶段,则在一定范围内与它偶数距离的点都要提供原料. 对于一个点,如果它加工的零件是奇数阶段,则在一定范围内与它奇数距离的点都要提供原料. 那么这个一定范围是多少呢? 就…
传送门 解题思路 先把所有的数据读下来. 对于地铁,答案直接加,然后把编号放入一个数组a内. 对于公交车,从前往后枚举a数组,然后找到出现最早的且符合价钱大于等于公交车的价钱,然后把这个数删除(变为0). 然后再考虑有效期是45分钟,为了优化时间,我们可以每一次把数组看做一个队列,当a[first]是0或者时间超过了45分钟时,first++. 这样就保证了数组内的数不超过45个. 最后看一眼时间复杂度,O(NK),K为不超过45. 轻松A掉. AC代码 #include<iostream>…
我对模拟的理解:http://www.cnblogs.com/AKMer/p/9064018.html 题目传送门:https://www.luogu.org/problemnew/show/P2669 这是我\(OI\)生涯中第一场比赛的第一道题目,而且这题在\(2015\)的普及组之前我就做过了(当时教练说\(NOIP\)会从\(NOI\)题库里选原题于是我就狂刷了一通\(emmm\)).只需根据它的题意模拟按阶段发金币,然后特判最后一个阶段是否会全部发完就可以了,水的不能再水. 时间复杂度…
洛谷P1003 铺地毯 noip2011提高组day1T1 洛谷原题 题目描述 为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯.一共有 n 张地毯,编号从 1 到n.现在将这些地毯按照编号从小到大的顺序平行于坐标轴先后铺设,后铺的地毯覆盖在前面已经铺好的地毯之上. 地毯铺设完成后,组织者想知道覆盖地面某个点的最上面的那张地毯的编号.注意:在矩形地毯边界和四个顶点上的点也算被地毯覆盖. 输入输出格式 输入格式 输入共n+2行 第一行,一个…
P5663 加工零件 题解 暴力搜索 搜索显然会TLE #include<iostream> #include<cstdio> #include<cstdlib> #include<algorithm> #include<cmath> #include<string> #include<cstring> #include<queue> using namespace std; typedef long long…
洛谷P2832 行路难 分析+题解代码[玄学最短路] 题目背景: 小X来到了山区,领略山林之乐.在他乐以忘忧之时,他突然发现,开学迫在眉睫 题目描述: 山区有n座山.山之间有m条羊肠小道,每条连接两座山,只能单向通过,并会耗费小X一定时间. 小X现在在1号山,他的目的是n号山,因为那里有火车站. 然而小X的体力是有限的.他每通过一条羊肠小道,就会变得更疲劳,导致他通过任意一条羊肠小道的时间都增加1. 输入格式: 第一行两个数,n,m 第2行到第m+1行,每行3个数A,B,C,表示A.B之间有一条…
传送门 解题思路 本题首先要明白,在每一天时,最优策略是先进行操作2(卖),再进行操作1(买),才能是利益最大化. 本题很显然当只有两天时,是一个完全背包,就是把当日价钱当做体积,把明日价格和今日价格的差作为价值,跑一边完全背包即可.时间复杂度O(TNM) 然后我们考虑满分做法——我们用dp[j]表示还剩下j个体积时,所能获得的最大利益. 然后对于后面的所有天,两天跑一遍完全背包.每一次统计时答案就是dp[m]+m,即利润+本金. 这里一定要注意对于每一天来说,购买的方式对以后的赚钱并未影响,所…
原文链接https://www.cnblogs.com/zhouzhendong/p/9258043.html 题目传送门 - 洛谷P3953 题目传送门 - Vijos P2030 题意 给定一个有向图,有 $n$ 个节点 $m$ 条边,边权值 $\in[0,1000]$ . 小明要从 $1$ 走到 $n$ ,要求路径长度最大为 $d+k$ ,其中 $d$ 为 $1$ 到 $n$ 最短路长度. 问小明有多少种走法,答案对 $p$ 取模.如果有无数种走法,那么输出 $-1$ . $n\leq 1…