- HDU1150
鶸者为何战斗
算法
刚刚复习了匈牙利算法,本质就是通过寻找可增光路来寻找可匹配数,还有一个定理就是最小点覆盖数和最大匹配数在二分图中是相同的。#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#defineINF0x7ffffff
- dfs,bfs的二分匹配模板(模板题hdu1150)
weixin_30609287
如果不懂匈牙利算法,请点击:该趣味算法http://blog.csdn.net/dark_scope/article/details/8880547模板://DFS版本下的二分匹配算法http://paste.ubuntu.net/16122581/#include#include#include#include#include#include#include#include#include#in
- HDU1150 二分匹配 最少点覆盖=最大匹配数
韦我独尊-德天独厚
二分匹配
3个重要结论:最小点覆盖数:最小覆盖要求用最少的点(X集合或Y集合的都行)让每条边都至少和其中一个点关联。可以证明:最少的点(即覆盖数)=最大匹配数最小路径覆盖=最小路径覆盖=|N|-最大匹配数用尽量少的不相交简单路径覆盖有向无环图G的所有结点。解决此类问题可以建立一个二分图模型。把所有顶点i拆成两个:X结点集中的i和Y结点集中的i',如果有边i->j,则在二分图中引入边i->j',设二分图最大匹
- HDU1150最小顶点覆盖
一名码农、
ACM_图论
MachineScheduleTimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):4654AcceptedSubmission(s):2292ProblemDescriptionAsweallknow,machineschedulingisaveryclassicalpr
- 二分图最小顶点覆盖 hdu1150
skymeteorite
图论
http://acm.hdu.edu.cn/showproblem.php?pid=1150在二分图中求最少的点,让每条边都至少和其中的一个点关联,这就是“二分图的最小顶点覆盖”。最小顶点覆盖=最大匹配数#include#include#includeusingnamespacestd;constintMAXN=105;intm1,m2;intg[MAXN][MAXN];intused[MAXN]
- 【二分图】HDU1150 最小顶点覆盖
cwqHHH
二分图匹配图论
二分图小总结:1、最小顶点覆盖=最大匹配数最小顶点覆盖:实质是个点集,点集里面的点能覆盖所有的边,最小点覆盖就是满足这个要求的点集中点数最小的那个2、最大独立集=顶点个数V-最大匹配数最大独立集:实质是个点集,点集里面的点互相之间不连着,最大独立集就是满足这个要求的点集中点数最多的那个3、最小边覆盖=顶点个数V-最大匹配数最小边覆盖:实质是个边集,这个集合里的边能覆盖所有的点,最小边覆盖是满足这个
- HDU1150(二分图最小点覆盖证明)
dawuga
HDUOJ
题目链接:HDU1150题目意思:有A,B两种机器,A机器上有n种模具,B机器上有m种模具,有k个任务,每个任务可以在既可以在A机器上的x模具上生产,也可以在B机器上的y模具上生产。A,B机器都可以切换模具,开始的A,B都为0模具,问最少切换多少次模具。可以完成所有的任务。题目思路:如果我们把A机器的n个模具作为二分图的左部,B机器的m个模具作为二分图的右部,然后把每个任务当成一条连接左部x和右部
- 【hdu1150】【Machine Schedule】二分图最小点覆盖+简单感性证明
LinnBlanc
题目总结图论
(上不了p站我要死了,侵权度娘背锅)题目大意有两台机器A和B以及N个需要运行的任务。每台机器有M种不同的模式,而每个任务都恰好在一台机器上运行。如果它在机器A上运行,则机器A需要设置为模式ai,如果它在机器B上运行,则机器B需要设置为模式bi。每台机器上的任务可以按照任意顺序执行,但是每台机器每转换一次模式需要重启一次。请合理为每个任务安排一台机器并合理安排顺序,使得机器重启次数尽量少。因为自己二
- dfs,bfs的二分匹配模板(模板题hdu1150)
KEYboarderQQ
模板匈牙利算法hdu1150
如果不懂匈牙利算法,请点击:该趣味算法http://blog.csdn.net/dark_scope/article/details/8880547模板://DFS版本下的二分匹配算法http://paste.ubuntu.net/16122581/#include
#include
#include
#include
#include
#include
#include
#include
#in
- 二分图最小顶点覆盖 hdu1150
aonaigayiximasi
http://acm.hdu.edu.cn/showproblem.php?pid=1150在二分图中求最少的点,让每条边都至少和其中的一个点关联,这就是“二分图的最小顶点覆盖”。最小顶点覆盖=最大匹配数#include
#include
#include
usingnamespacestd;
constintMAXN=105;
intm1,m2;
intg[MAXN][MAXN];
intus
- HDU1150(最小顶点覆盖)
baneHunter
MachineScheduleTimeLimit:2000/1000MS(Java/Others) MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):7362 AcceptedSubmission(s):3677ProblemDescriptionAsweallknow,machineschedulingisaverycla
- HDU1150 匈牙利算法(求二分图最大匹配)
hfengzhi
匈牙利算法
HDU1150题目大意;有两台机器A和B以及N个需要运行的任务。每台机器有M种不同的模式,而每个任务都恰好在一台机器上运行。如果它在机器A上运行,则机器A需要设置为模式ai,如果它在机器B上运行,则机器A需要设置为模式bi。每台机器上的任务可以按照任意顺序执行,但是每台机器每转换一次模式需要重启一次。请合理为每个任务安排一台机器并合理安排顺序,使得机器重启次数尽量少。谈匈牙利算法自然避不开Hall
- 二分图
二分图
1. 二分图的最小顶点覆盖(例hdu1150,poj3041) 在二分图中求最少的点,让每条边都至少和其中的一个点关联,这就是 二分图的“最小顶点覆盖”。换句话说就是对于这也最小顶点集,原图中的每条边都至少有一个点在这个点集里面。 结论: 二分图的最小顶点覆盖数 = 二分图的最大匹配数
2. DAG图的最小路径覆盖 (例hdu
- hdu1150最小点集覆盖
HDU
连着做两道最小点集覆盖的题,直接拿上一题代码改的,都没改几句。。
/*
* hdu1150/win.cpp
* Created on: 2012-8-14
* Author : ben
*/
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <
- [置顶] hdu1150解题报告--也可以说小白理解最小点覆盖学习总结
HDU
在这个题目上理解了学长说的一句话:算法不难,题目难.....找了很多结题报告,但是对于都没接触过“最小点覆盖”的我来说很是不解....于是请教了学长,现在以最通俗的方式描述,希望自己以后来看能一目了然,也能对刚接触最小点覆盖的人有帮助(ps:文字看起来多,但是很通俗,后面又结合图加以详细描述)
开始是自己理解,以为A机器有n个可以工作的地方,B有m个可以工作的地方,--完全错误..后面又不知
- hdu1150 最小点覆盖集的一个小小的变形
jmh1996
AlgorithmDFS匈牙利算法最小点覆盖变型
//这道是最小点覆盖集的应用//最小点覆盖,覆盖的是所有的边,而不是所有的点//在这个题目中,我们的本意是,从所有的模式中选出最少的几个模式来覆盖完全的任务点,但是,这与我们的最小点覆盖却还是区别的//那么我们应该怎么构图呢?怎么才可以把对点的覆盖转化为对边的覆盖呢?//我们只需要将能够完成相同任务的点相连就ok了,如果这些边都已经全部覆盖了的话,那么所有的任务也就一定要被覆盖。#include#
- hdu1150——Machine Schedule
Guard_Mine
二分匹配
MachineScheduleTimeLimit:2000/1000MS(Java/Others) MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):5965 AcceptedSubmission(s):2999ProblemDescriptionAsweallknow,machineschedulingisaverycla
- 最小路径覆盖(最小边覆盖&&最小点覆盖)hdu1150
u013573047
【最小边覆盖(原图是二分图)】:在图中找一些边,使之覆盖了图中所有顶点,且任何一个顶点有且只有一条边与之关联。最小边覆盖=最大独立集=|V|-最大匹配数【最小顶点覆盖】:用最少的点(左右两边集合的点)让每条边都至少和其中一个点关联。最小点覆盖=最大匹配数最小点覆盖的题目:http://acm.hdu.edu.cn/showproblem.php?pid=1150每条边至少和其中一个点关联。Prob
- hdu 1150 || poj 1325 Machine Schedule (二分图匹配)
qq7366020
pojHDU二分图
题目链接: hdu1150题目大意: A机器有N种模式,B机器有M种模式 K件产品,每件产品可以由a模式或者b模式完成 问最少切换多少次模式可以完成K件产品解题思路: N种模式作为X集合,M种模式作为Y集合 它们之间的连线表示两者取其中之一就可完成产品 问题转化为最小点覆盖集,既求最大匹配数 匈牙利算法求解二分图
- HDU1150最小顶点覆盖
u012350533
MachineScheduleTimeLimit:2000/1000MS(Java/Others) MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):4654 AcceptedSubmission(s):2292ProblemDescriptionAsweallknow,machineschedulingisaveryclass
- HDU 1150 && HDU 1151 二分匹配模版题
qq574857122
九野的博客,转载请注明出处:http://blog.csdn.net/acmmmm/article/details/12224561题意:左点集范围右点集范围映射边数映射边编号左点右点 注意一下点集的范围是1开始的即可 HDU1150:#include
#include
#include
#include
#include
#include
#include
#include
- HDU 1150 && HDU 1151 二分匹配模版题
qq574857122
九野的博客,转载请注明出处:http://blog.csdn.net/acmmmm/article/details/12224561题意:左点集范围右点集范围映射边数映射边编号左点右点 注意一下点集的范围是1开始的即可 HDU1150:#include
#include
#include
#include
#include
#include
#include
#include
- hdu1150解题报告--也可以说小白理解最小点覆盖学习总结
ZYY173533832
匈牙利算法有点小技巧小麻烦
在这个题目上理解了学长说的一句话:算法不难,题目难.....找了很多结题报告,但是对于都没接触过“最小点覆盖”的我来说很是不解....于是请教了学长,现在以最通俗的方式描述,希望自己以后来看能一目了然,也能对刚接触最小点覆盖的人有帮助(ps:文字看起来多,但是很通俗,后面又结合图加以详细描述)开始是自己理解,以为A机器有n个可以工作的地方,B有m个可以工作的地方,--完全错误..后面又不知道为什么
- HDU1150:Machine Schedule
l383137093
图论二分图
点击打开题目链接MachineScheduleTimeLimit:2000/1000MS(Java/Others) MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):4511 AcceptedSubmission(s):2204ProblemDescriptionAsweallknow,machineschedulingis
- hdu1150 Machine Schedule (二分图的最小顶点覆盖)
lezong2011
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1150最小点覆盖数:最小覆盖要求用最少的点(X集合或Y集合的都行)让每条边都至少和其中一个点关联。可以证明:最少的点(即覆盖数)=最大匹配数#include
#include
#defineMAXN102
intmap[MAXN][MAXN];
intfrom[MAXN],used[MAXN];
//
- HDU1150(二分图+最大匹配+匈牙利算法)
xj2419174554
图论二分图
MachineScheduleTimeLimit:2000/1000MS(Java/Others) MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):4095 AcceptedSubmission(s):1994ProblemDescriptionAsweallknow,machineschedulingisaverycla
- 第七周周赛之二分匹配
qq415200973
二分图匹配
最大匹配,最小点覆盖,最大点独立,最小边覆盖,最大边独立,最小路径覆盖最大匹配:匈牙利算法最小点覆盖=最大匹配最大点独立=n(顶点数)-最小点覆盖最大边独立=n-最小边覆盖最小路径覆盖=p(n/2)-最大匹配 (p*p的有向图)1001:hdu1150:http://acm.hdu.edu.cn/showproblem.php?pid=1150最大匹配等于最小点覆盖:匈牙利算法模版代码:#incl
- hdu1150 匈牙利算法
JustSteps
http://acm.hdu.edu.cn/showproblem.php?pid=1150图的最小点覆盖数=图的最大匹配数;konig定理:二分图的最小顶点覆盖数等于最大匹配数。证明:比如最大匹配是M。为了求最少的点让每条边都至少和其中一个点关联。M个点是足够的。就是说他们覆盖最大匹配的那M条边后,假设有某边e没被覆盖,那么把e加入后会得到一个更大的匹配,出现矛盾。M个点是必需的。匹配的M条边,
- hdu1150
Ice_Crazy
/*分析: 写出来了,so~highp~ 二分图的最小顶点覆盖数=二分图的最大匹配数 2012-07-13*/#include"stdio.h"
#include"string.h"
structA
{
inttotal;
intmem[111];
}E[111];
intmatch[111];
intvisit[111];
intDFS(i
- HDU_Steps6.3 二分图 HDU1054 HDU1068 HDU1150 HDU1151 HDU1498 HDU1528 HDU1507 HDU2768
swm8023
c算法iniAIRIMcolors
6.3.1 HDU1054StrategicGame给出一颗树,如果一个点被覆盖,则与他相连的边都被覆盖,求最少需要多少个点来覆盖这颗树,二分图和树形DP都可以解决,DP会更快一些DP算法,对于每个点可以选择放或者不放,令all[v]表示覆盖以v为父节点的子树所需要的最小卫兵数,dr[v]表示这一点放卫兵覆盖子树的最小卫兵数,显然对于某一点,若这一点不放,则它的儿子节点都要放sum1=sigma[
- java数字签名三种方式
知了ing
javajdk
以下3钟数字签名都是基于jdk7的
1,RSA
String password="test";
// 1.初始化密钥
KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA");
keyPairGenerator.initialize(51
- Hibernate学习笔记
caoyong
Hibernate
1>、Hibernate是数据访问层框架,是一个ORM(Object Relation Mapping)框架,作者为:Gavin King
2>、搭建Hibernate的开发环境
a>、添加jar包:
aa>、hibernatte开发包中/lib/required/所
- 设计模式之装饰器模式Decorator(结构型)
漂泊一剑客
Decorator
1. 概述
若你从事过面向对象开发,实现给一个类或对象增加行为,使用继承机制,这是所有面向对象语言的一个基本特性。如果已经存在的一个类缺少某些方法,或者须要给方法添加更多的功能(魅力),你也许会仅仅继承这个类来产生一个新类—这建立在额外的代码上。
- 读取磁盘文件txt,并输入String
一炮送你回车库
String
public static void main(String[] args) throws IOException {
String fileContent = readFileContent("d:/aaa.txt");
System.out.println(fileContent);
- js三级联动下拉框
3213213333332132
三级联动
//三级联动
省/直辖市<select id="province"></select>
市/省直辖<select id="city"></select>
县/区 <select id="area"></select>
- erlang之parse_transform编译选项的应用
616050468
parse_transform游戏服务器属性同步abstract_code
最近使用erlang重构了游戏服务器的所有代码,之前看过C++/lua写的服务器引擎代码,引擎实现了玩家属性自动同步给前端和增量更新玩家数据到数据库的功能,这也是现在很多游戏服务器的优化方向,在引擎层面去解决数据同步和数据持久化,数据发生变化了业务层不需要关心怎么去同步给前端。由于游戏过程中玩家每个业务中玩家数据更改的量其实是很少
- JAVA JSON的解析
darkranger
java
// {
// “Total”:“条数”,
// Code: 1,
//
// “PaymentItems”:[
// {
// “PaymentItemID”:”支款单ID”,
// “PaymentCode”:”支款单编号”,
// “PaymentTime”:”支款日期”,
// ”ContractNo”:”合同号”,
//
- POJ-1273-Drainage Ditches
aijuans
ACM_POJ
POJ-1273-Drainage Ditches
http://poj.org/problem?id=1273
基本的最大流,按LRJ的白书写的
#include<iostream>
#include<cstring>
#include<queue>
using namespace std;
#define INF 0x7fffffff
int ma
- 工作流Activiti5表的命名及含义
atongyeye
工作流Activiti
activiti5 - http://activiti.org/designer/update在线插件安装
activiti5一共23张表
Activiti的表都以ACT_开头。 第二部分是表示表的用途的两个字母标识。 用途也和服务的API对应。
ACT_RE_*: 'RE'表示repository。 这个前缀的表包含了流程定义和流程静态资源 (图片,规则,等等)。
A
- android的广播机制和广播的简单使用
百合不是茶
android广播机制广播的注册
Android广播机制简介 在Android中,有一些操作完成以后,会发送广播,比如说发出一条短信,或打出一个电话,如果某个程序接收了这个广播,就会做相应的处理。这个广播跟我们传统意义中的电台广播有些相似之处。之所以叫做广播,就是因为它只负责“说”而不管你“听不听”,也就是不管你接收方如何处理。另外,广播可以被不只一个应用程序所接收,当然也可能不被任何应
- Spring事务传播行为详解
bijian1013
javaspring事务传播行为
在service类前加上@Transactional,声明这个service所有方法需要事务管理。每一个业务方法开始时都会打开一个事务。
Spring默认情况下会对运行期例外(RunTimeException)进行事务回滚。这
- eidtplus operate
征客丶
eidtplus
开启列模式: Alt+C 鼠标选择 OR Alt+鼠标左键拖动
列模式替换或复制内容(多行):
右键-->格式-->填充所选内容-->选择相应操作
OR
Ctrl+Shift+V(复制多行数据,必须行数一致)
-------------------------------------------------------
- 【Kafka一】Kafka入门
bit1129
kafka
这篇文章来自Spark集成Kafka(http://bit1129.iteye.com/blog/2174765),这里把它单独取出来,作为Kafka的入门吧
下载Kafka
http://mirror.bit.edu.cn/apache/kafka/0.8.1.1/kafka_2.10-0.8.1.1.tgz
2.10表示Scala的版本,而0.8.1.1表示Kafka
- Spring 事务实现机制
BlueSkator
spring代理事务
Spring是以代理的方式实现对事务的管理。我们在Action中所使用的Service对象,其实是代理对象的实例,并不是我们所写的Service对象实例。既然是两个不同的对象,那为什么我们在Action中可以象使用Service对象一样的使用代理对象呢?为了说明问题,假设有个Service类叫AService,它的Spring事务代理类为AProxyService,AService实现了一个接口
- bootstrap源码学习与示例:bootstrap-dropdown(转帖)
BreakingBad
bootstrapdropdown
bootstrap-dropdown组件是个烂东西,我读后的整体感觉。
一个下拉开菜单的设计:
<ul class="nav pull-right">
<li id="fat-menu" class="dropdown">
- 读《研磨设计模式》-代码笔记-中介者模式-Mediator
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
/*
* 中介者模式(Mediator):用一个中介对象来封装一系列的对象交互。
* 中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。
*
* 在我看来,Mediator模式是把多个对象(
- 常用代码记录
chenjunt3
UIExcelJ#
1、单据设置某行或某字段不能修改
//i是行号,"cash"是字段名称
getBillCardPanelWrapper().getBillCardPanel().getBillModel().setCellEditable(i, "cash", false);
//取得单据表体所有项用以上语句做循环就能设置整行了
getBillC
- 搜索引擎与工作流引擎
comsci
算法工作搜索引擎网络应用
最近在公司做和搜索有关的工作,(只是简单的应用开源工具集成到自己的产品中)工作流系统的进一步设计暂时放在一边了,偶然看到谷歌的研究员吴军写的数学之美系列中的搜索引擎与图论这篇文章中的介绍,我发现这样一个关系(仅仅是猜想)
-----搜索引擎和流程引擎的基础--都是图论,至少像在我在JWFD中引擎算法中用到的是自定义的广度优先
- oracle Health Monitor
daizj
oracleHealth Monitor
About Health Monitor
Beginning with Release 11g, Oracle Database includes a framework called Health Monitor for running diagnostic checks on the database.
About Health Monitor Checks
Health M
- JSON字符串转换为对象
dieslrae
javajson
作为前言,首先是要吐槽一下公司的脑残编译部署方式,web和core分开部署本来没什么问题,但是这丫居然不把json的包作为基础包而作为web的包,导致了core端不能使用,而且我们的core是可以当web来用的(不要在意这些细节),所以在core中处理json串就是个问题.没办法,跟编译那帮人也扯不清楚,只有自己写json的解析了.
- C语言学习八结构体,综合应用,学生管理系统
dcj3sjt126com
C语言
实现功能的代码:
# include <stdio.h>
# include <malloc.h>
struct Student
{
int age;
float score;
char name[100];
};
int main(void)
{
int len;
struct Student * pArr;
int i,
- vagrant学习笔记
dcj3sjt126com
vagrant
想了解多主机是如何定义和使用的, 所以又学习了一遍vagrant
1. vagrant virtualbox 下载安装
https://www.vagrantup.com/downloads.html
https://www.virtualbox.org/wiki/Downloads
查看安装在命令行输入vagrant
2.
- 14.性能优化-优化-软件配置优化
frank1234
软件配置性能优化
1.Tomcat线程池
修改tomcat的server.xml文件:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" maxThreads="1200" m
- 一个不错的shell 脚本教程 入门级
HarborChung
linuxshell
一个不错的shell 脚本教程 入门级
建立一个脚本 Linux中有好多中不同的shell,但是通常我们使用bash (bourne again shell) 进行shell编程,因为bash是免费的并且很容易使用。所以在本文中笔者所提供的脚本都是使用bash(但是在大多数情况下,这些脚本同样可以在 bash的大姐,bourne shell中运行)。 如同其他语言一样
- Spring4新特性——核心容器的其他改进
jinnianshilongnian
spring动态代理spring4依赖注入
Spring4新特性——泛型限定式依赖注入
Spring4新特性——核心容器的其他改进
Spring4新特性——Web开发的增强
Spring4新特性——集成Bean Validation 1.1(JSR-349)到SpringMVC
Spring4新特性——Groovy Bean定义DSL
Spring4新特性——更好的Java泛型操作API
Spring4新
- Linux设置tomcat开机启动
liuxingguome
tomcatlinux开机自启动
执行命令sudo gedit /etc/init.d/tomcat6
然后把以下英文部分复制过去。(注意第一句#!/bin/sh如果不写,就不是一个shell文件。然后将对应的jdk和tomcat换成你自己的目录就行了。
#!/bin/bash
#
# /etc/rc.d/init.d/tomcat
# init script for tomcat precesses
- 第13章 Ajax进阶(下)
onestopweb
Ajax
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
- Troubleshooting Crystal Reports off BW
blueoxygen
BO
http://wiki.sdn.sap.com/wiki/display/BOBJ/Troubleshooting+Crystal+Reports+off+BW#TroubleshootingCrystalReportsoffBW-TracingBOE
Quite useful, especially this part:
SAP BW connectivity
For t
- Java开发熟手该当心的11个错误
tomcat_oracle
javajvm多线程单元测试
#1、不在属性文件或XML文件中外化配置属性。比如,没有把批处理使用的线程数设置成可在属性文件中配置。你的批处理程序无论在DEV环境中,还是UAT(用户验收
测试)环境中,都可以顺畅无阻地运行,但是一旦部署在PROD 上,把它作为多线程程序处理更大的数据集时,就会抛出IOException,原因可能是JDBC驱动版本不同,也可能是#2中讨论的问题。如果线程数目 可以在属性文件中配置,那么使它成为
- 正则表达式大全
yang852220741
html编程正则表达式
今天向大家分享正则表达式大全,它可以大提高你的工作效率
正则表达式也可以被当作是一门语言,当你学习一门新的编程语言的时候,他们是一个小的子语言。初看时觉得它没有任何的意义,但是很多时候,你不得不阅读一些教程,或文章来理解这些简单的描述模式。
一、校验数字的表达式
数字:^[0-9]*$
n位的数字:^\d{n}$
至少n位的数字:^\d{n,}$
m-n位的数字:^\d{m,n}$