首页 > TAG信息列表 > JSOI2010
NC20185 [JSOI2010]缓存交换
题目 原题地址:[JSOI2010]缓存交换 题目编号:NC20185 题目类型:堆、贪心 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K 1.题目大意 Cache容量以及主存单元访问次序一致,求最少的非命中次数 2.题目分析 每次删除缓存区中元素中下一次出现最晚的 3.题目代洛谷P4306 [JSOI2010]连通数 题解 传递闭包/bitset
题目链接:https://www.luogu.com.cn/problem/P4306 传递闭包 bitset 模板题。 需要注意的是 \(i = j\) 时需将 \(g_{i,i}\) 标记为 \(1\) 。 示例程序: #include <bits/stdc++.h> using namespace std; const int maxn = 2020; int n, ans; char s[maxn]; bitset<maxn> g[maxn]; inP4171 [JSOI2010] 满汉全席(2-sat)
Aimee 2-sat的模板题 显然根据题目所给内容,我们可以根据每一个菜的做法,推断出另一个菜的做法,然后连边 这样会出现一个个的环,这个环不能有矛盾 也就是满式和汉式不能同时被推出 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<stack> #definBZOJ2208: [Jsoi2010]连通数(tarjan bitset floyd)
Sol数据水的一批,\(O(n^3)\)暴力可过实际上只要bitset优化一下floyd复杂度就是对的了(\(O(\frac{n^3}{32})\))还可以缩点之后bitset维护一下连通性,然后对每个联通块之间的分别算,复杂度是\(O(\frac{nm}{32})\)(好像和上面的没区别。。。)上面代码是floyed下面的是tarjan// luogu-judP4306-[JSOI2010]连通数【bitset】
正题 题目链接:https://www.luogu.com.cn/problem/P4306 题目大意 n n n个点的有向图,求图上可以相互到达点数。 解题思路 就是 bP4047 [JSOI2010]部落划分
一眼二分: 二分出最近的两个部落之间的最大距离,判断当前mid距离下能否划分成k个连通块 const int N=1010; PII a[N]; int p[N]; double dist[N][N]; int n,k; double dis(PII a,PII b) { return sqrt((a.fi-b.fi)*(a.fi-b.fi)+(a.se-b.se)*(a.se-b.se)); } int find(int x) {P4171 [JSOI2010]满汉全席 题解
CSDN同步 原题链接 前置知识:\(\text{2 - SAT}\) 模板 简要题意: 烹饪比赛中你需要用 \(n\) 种材料,每种材料有两种烧法。(所谓汉式料理和满式)然后,\(m\) 个评委,每个评委都有要求:对第 \(x\) 道菜用第 \(p\) 种烧法(\(p \in {1,2}\)),或者 对第 \(y\) 道菜用第 \(q\) 种烧法(\(q \in {1,2}\)[JSOI2010]满汉全席 -- 2-SAT
2-SAT快忘了,回忆了一下 x--->y 代表选择x必选择y #include<iostream> #include<algorithm> #include<cstring> #include<stack> #include<cstdio> using namespace std; const int maxn = 100000; struct Node { int to; int next; }G[maxn]; i[题解] [JSOI2010] 挖宝藏
题面 题解 我们发现挖掘一个点所需要的方块是一个向上的倒三角, 我们设这个倒三角在 \(y = -1\) 上的左右端点分别为 \(l, r\) 不难发现, 一个 \([l, r]\) 区间仅对应一个点, 也就是说, 每个点所需要的倒三角都是不同的 如果一个区间被另外一个区间完全覆盖, 那么选了大的那个区间题解 JSOI2010 找零钱的洁癖
题解 JSOI2010 找零钱的洁癖 题面 BZOJ 个人体会 van全没有思路... 只能去看题解... 还是个bfs+贪心 不管怎样竟然乱搞过了... 听M_sea小姐姐说她有更正经的做法(线性规划,网络流)? 解析 就是求最少的数加加减减得到\(X\). 考虑一波暴搜... 没了 开个map存一下当前的数经过没有.洛谷 P4306 [JSOI2010]连通数 - 图论、统计
洛谷 P4306 [JSOI2010]连通数 题目链接:洛谷 P4306 [JSOI2010]连通数 算法标签: 图论,统计 题目 题目描述 度量一个有向图联通情况的一个指标是连通数,指图中可达顶点对个的个数。 如图 顶点 1 可达 1, 2, 3, 4, 5 顶点 2 可达 2, 3, 4, 5 顶点 3 可达 3, 4, 5 顶点 4, 5 都只能到达【2-SAT】[JSOI2010]满汉全席
感觉方法和题解差不多,但是题解写的好烦啊...也不是烦,就是很复杂 这里建议开一个数组表示当前这个点选或者不选的编号,这样之后自己理思路也会清楚一点 然而我调了一个小时才发现我是Tarjan写错了...... 这道题对于每一个菜分两种情况讨论,每一种情况又有选和不选两种方案 所以相bzoj2208 [Jsoi2010] 连通数(tarjan点双连通分量 // dfs)
题干: 题解: 本题也就是 一个有向图,题干中也没有说是否有环,我们就需要tarjan缩一下点(有向图缩点需要判断是否在队中),再进行操作。2208: [Jsoi2010]连通数
2208: [Jsoi2010]连通数 对于原图建反图,考虑到有环,tarjan缩点,就得到一张有向无环图,用bitset记录能到某scc的点(原图点),跑拓扑将bitset或(|)下去就可以了,最后答案为∑(bitset中1的个数*scc的大小)。开始考虑错了: 1 for(int i=1;i<=n;i++) 2 ans+=ll[belong[i]].count()+scc[belong[i]].sLuogu P4306 JSOI2010 连通数
tarjan有向图缩点的基础应用。把原图中某点的连通数转化为反向图中”能够到达某点的个数“。缩点后,每个新点的贡献等于 原dcc大小 * f[i] 其中f[i]表示(包括该点自身)通向该点的点的个数。设u点为v的入度,满足转移方程: 所以我们按照拓扑序dp求解即可。f[i]的JSOI2010盛夏的果实(最短路+二分答案)
本博客转自我校LJY巨佬的博客并经过本人许可 盛夏的果实(最短路+二分答案) 我也不知道这道题是哪来的,可能是我们老师原创的,其实是JSOI2010的水题,锻炼下思维 题干: 描述 丛林中共有n棵果树,每一棵果树上都有数量不等的果实。果树之间有单向边连接,而且从任何一棵果树开始不可能通JSOI2010 连通数
题目链接:戳我 用bitset优化一下floyd。。。。 如果to[i][j]==true,那么to[j][k]==1也可以转化成to[i][k]==1。 代码如下: #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<cmath> #include<bitset> using namespace std; int n,a[BZOJ1821][JSOI2010]部落划分
感觉学了这么久还是有那么一丢丢进步的...上个学期看到这道题,虽然早就学过并查集和二分了但还是一点思路都没有,现在可以秒切了呢 思路就是二分+并查集,有些人说是生成树,其实它没有变成树,只是运用了生成树的思想而已 分析 求距离最小的最大值,考虑二分 求距离那我们就二分距离吧 考