{"id":532,"date":"2021-06-11T15:12:03","date_gmt":"2021-06-11T15:12:03","guid":{"rendered":"https:\/\/xcodeph.net\/?page_id=532"},"modified":"2021-06-11T16:01:12","modified_gmt":"2021-06-11T16:01:12","slug":"decrease-and-conquer","status":"publish","type":"page","link":"https:\/\/xcodeph.net\/index.php\/decrease-and-conquer\/","title":{"rendered":"Decrease and Conquer"},"content":{"rendered":"\n<p>Basic idea of the decrease-and-conquer technique is based on exploiting the relationship between a solution to a given instance of a problem and a solution to its smaller instance.<\/p>\n\n\n\n<p>This approach is also known as incremental or inductive approach.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>Decrease or reduce problem instance to smaller instance of the same problem and extend solution.<\/strong><\/p>\n\n\n\n<p><strong>Conquer the problem by solving smaller instance of the problem.<\/strong><\/p>\n\n\n\n<p><strong>Extend solution of smaller instance to obtain solution to original problem .<\/strong><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>There are three major variations of decrease-and-conquer:<\/p>\n\n\n\n<ul><li>Decrease by a constant<\/li><li>Decrease by a constant factor<\/li><li>Variable size decrease<\/li><\/ul>\n\n\n\n<h2><strong>Decrease by a constant<\/strong><\/h2>\n\n\n\n<h2><strong>Insertion Sort<\/strong><\/h2>\n\n\n\n<p>Insertion sort is a simple sorting algorithm that works similar to the way you sort playing cards in your hands. The array is virtually split into a sorted and an unsorted part. Values from the unsorted part are picked and placed at the correct position in the sorted part.<\/p>\n\n\n\n<div class=\"wp-block-media-text alignwide is-stacked-on-mobile\"><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" width=\"500\" height=\"300\" src=\"https:\/\/xcodeph.net\/wp-content\/uploads\/2021\/06\/Insertion-sort-example.gif\" alt=\"\" class=\"wp-image-533 size-full\"\/><\/figure><div class=\"wp-block-media-text__content\">\n<p class=\"has-large-font-size\">Simulation insertion Sort<\/p>\n<\/div><\/div>\n\n\n\n<p>Java Program<\/p>\n\n\n\n<pre class=\"wp-block-syntaxhighlighter-code\">public class InsertionSortExample {  \n    public static void insertionSort(int array[]) {  \n        int n = array.length;  \n        for (int j = 1; j &lt; n; j++) {  \n            int key = array[j];  \n            int i = j-1;  \n            while ( (i > -1) &amp;&amp; ( array [i] > key ) ) {  \n                array [i+1] = array [i];  \n                i--;  \n            }  \n            array[i+1] = key;  \n        }  \n    }  \n       \n    public static void main(String a[]){    \n        int[] arr1 = {9,14,3,2,43,11,58,22};    \n        System.out.println(\"Before Insertion Sort\");    \n        for(int i:arr1){    \n            System.out.print(i+\" \");    \n        }    \n        System.out.println();    \n            \n        insertionSort(arr1);\/\/sorting array using insertion sort    \n           \n        System.out.println(\"After Insertion Sort\");    \n        for(int i:arr1){    \n            System.out.print(i+\" \");    \n        }    \n    }    \n}    <\/pre>\n\n\n\n<h2><strong>BFS \/ DFS<\/strong><\/h2>\n\n\n\n<iframe loading=\"lazy\" src=\"https:\/\/docs.google.com\/presentation\/d\/e\/2PACX-1vQNppmDXhHekY1B8FII1LqgzwB-CHVwdibVuNtxx_QqYTx8dxtSt-C3nUMXBnOU0bd8u1FL8SoLGqgv\/embed?start=false&#038;loop=false&#038;delayms=5000\" frameborder=\"0\" width=\"1280\" height=\"749\" allowfullscreen=\"true\" mozallowfullscreen=\"true\" webkitallowfullscreen=\"true\"><\/iframe>\n\n\n\n<p><strong>Sample Program<\/strong><\/p>\n\n\n\n<h2><strong>BFS<\/strong><\/h2>\n\n\n\n<p>App.java<\/p>\n\n\n\n<pre class=\"wp-block-syntaxhighlighter-code\">public class App {\n\n\tpublic static void main(String[] args) {\n\t\t\n\t\tBreadthFirstSearch breadthFirstSearch = new BreadthFirstSearch();\n\t\t\n\t\tVertex vertex1 = new Vertex(1);\n\t\tVertex vertex2 = new Vertex(2);\n\t\tVertex vertex3 = new Vertex(3);\n\t\tVertex vertex4 = new Vertex(4);\n\t\tVertex vertex5 = new Vertex(5);\n\t\t\n\t\tvertex1.addNeighbour(vertex2);\n\t\tvertex1.addNeighbour(vertex4);\n\t\tvertex4.addNeighbour(vertex5);\n\t\tvertex2.addNeighbour(vertex3);\n\t\t\n\t\tbreadthFirstSearch.bfs(vertex1);\n\n\t}\n}\n<\/pre>\n\n\n\n<p>BreadthFirstSearch.java<\/p>\n\n\n\n<pre class=\"wp-block-syntaxhighlighter-code\">import java.util.LinkedList;\nimport java.util.Queue;\n\npublic class BreadthFirstSearch {\n\n\tpublic void bfs(Vertex root){\n\t\t\n\t\tQueue&lt;Vertex> queue = new LinkedList&lt;>();\n\t\t\n\t\troot.setVisited(true);\n\t\tqueue.add(root);\n\t\t\n\t\twhile( !queue.isEmpty() ){\n\t\t\t\n\t\t\tVertex actualVertex = queue.remove();\n\t\t\tSystem.out.print(actualVertex+\" \");\n\t\t\t\n\t\t\tfor( Vertex v : actualVertex.getNeighbourList() ){\n\t\t\t\tif( !v.isVisited() ){\n\t\t\t\t\tv.setVisited(true);\n\t\t\t\t\tqueue.add(v);\n\t\t\t\t}\n\t\t\t}\t\t\t\n\t\t}\n\t}\n}<\/pre>\n\n\n\n<p>Vertex.java<\/p>\n\n\n\n<pre class=\"wp-block-syntaxhighlighter-code\">import java.util.ArrayList;\nimport java.util.List;\n\npublic class Vertex {\n\n\tprivate int data;\n\tprivate boolean visited;\n\tprivate List&lt;Vertex> neighbourList;\n\t\n\tpublic Vertex(int data){\n\t\tthis.data=data;\n\t\tthis.neighbourList = new ArrayList&lt;>();\n\t}\n\n\tpublic int getData() {\n\t\treturn data;\n\t}\n\n\tpublic void setData(int data) {\n\t\tthis.data = data;\n\t}\n\n\tpublic boolean isVisited() {\n\t\treturn visited;\n\t}\n\n\tpublic void setVisited(boolean visited) {\n\t\tthis.visited = visited;\n\t}\n\n\tpublic List&lt;Vertex> getNeighbourList() {\n\t\treturn neighbourList;\n\t}\n\n\tpublic void addNeighbour(Vertex neighbour) {\n\t\tthis.neighbourList.add(neighbour);\n\t}\n\t\n\t@Override\n\tpublic String toString() {\n\t\treturn \"\"+this.data;\n\t}\n}\n<\/pre>\n\n\n\n<h2><strong>DFS<\/strong><\/h2>\n\n\n\n<p>App.java<\/p>\n\n\n\n<pre class=\"wp-block-syntaxhighlighter-code\">\npublic class App {\n\n\tpublic static void main(String[] args) {\n\t\t\n\t\t\n\t\t\n\t\tVertex vertex1 = new Vertex(\"1\");\n\t\tVertex vertex2 = new Vertex(\"2\");\n\t\tVertex vertex3 = new Vertex(\"3\");\n\t\tVertex vertex4 = new Vertex(\"4\");\n\t\tVertex vertex5 = new Vertex(\"5\");\n\t\t\n\t\tvertex1.addNeighbour(vertex2);\n\t\tvertex1.addNeighbour(vertex4);\n\t\tvertex4.addNeighbour(vertex5);\n\t\tvertex2.addNeighbour(vertex3);\n\t\t\n\/\/\t\tDepthFirstSearch depthFirstSearch = new DepthFirstSearch();\n\/\/\t\tdepthFirstSearch.dfsNormal(vertex1);\n\n\t}\n}\n<\/pre>\n\n\n\n<p>DepthFirstSearch.java<\/p>\n\n\n\n<pre class=\"wp-block-syntaxhighlighter-code\">\nimport java.util.List;\nimport java.util.Stack;\n\n\npublic class DepthFirstSearch {\n\t\n\/\/\tprivate Stack&lt;Vertex> stack;\n\/\/\t\n\/\/\tpublic DepthFirstSearch(){\n\/\/\t\tthis.stack=new Stack&lt;>();\n\/\/\t}\n\/\/\t\n\/\/\tpublic void dfsRecursive(Vertex vertex){\n\/\/\t\t\n\/\/\t\tSystem.out.print(vertex+\"->\");\n\/\/\t\t\n\/\/\t\tfor( Vertex v : vertex.getNeighbourList() ){\n\/\/\t\t\tif( !v.isVisited() ){\n\/\/\t\t\t\tv.setVisited(true);\n\/\/\t\t\t\tdfsRecursive(v);\n\/\/\t\t\t}\n\/\/\t\t}\n\/\/\t}\n\/\/\t\n\/\/\tpublic void dfsNormal(Vertex root){\n\/\/\t\t\n\/\/\t\tstack.add(root);\n\/\/\t\troot.setVisited(true);\t\n\/\/\t\t\n\/\/\t\twhile( !stack.isEmpty() ){\n\/\/\t\t\t\n\/\/\t\t\tVertex actualVertex = stack.pop();\n\/\/\t\t\tSystem.out.print(actualVertex+\"->\");\n\/\/\t\t\t\n\/\/\t\t\tfor( Vertex v : actualVertex.getNeighbourList() ){\n\/\/\t\t\t\tif( !v.isVisited() ){\n\/\/\t\t\t\t\tv.setVisited(true);\n\/\/\t\t\t\t\tstack.push(v);\n\/\/\t\t\t\t}\n\/\/\t\t\t}\n\/\/\t\t}\t\n\/\/\t}\n\t\n\tprivate List&lt;Vertex> vertexList;\n\tprivate int time = 0;\n\t\n\tpublic DepthFirstSearch(List&lt;Vertex> vertexList){\n\t\tthis.vertexList = vertexList;\n\t}\n\t\n\tpublic void runDfs(){\n\t\tfor( Vertex vertex : vertexList ){\n\t\t\tif( !vertex.isVisited() ){\n\t\t\t\tdfs(vertex);\n\t\t\t}\n\t\t}\n\t}\n\t\n\tpublic void dfs(Vertex vertex){\n\t\t\n\t\tSystem.out.print(vertex.getName()+\"-\");\n\t\t\n\t\ttime++;\n\t\tvertex.setStartingRank(time);\n\t\t\n\t\tfor( Vertex v : vertex.getNeighbourList() ){\n\t\t\tif( !v.isVisited() ){\n\t\t\t\tv.setVisited(true);\n\t\t\t\tv.setPredecessor(vertex);\n\t\t\t\tdfs(v);\n\t\t\t}\n\t\t}\n\t\t\n\t\ttime++;\n\t\tvertex.setFinishingRank(time);\t\n\t}\n\t\n\tpublic void printVertices(){\n\t\tfor(Vertex vertex : vertexList){\n\t\t\tSystem.out.println(vertex+\"\");\n\t\t}\n\t}\n}\n<\/pre>\n\n\n\n<p>Vertex.java<\/p>\n\n\n\n<pre class=\"wp-block-syntaxhighlighter-code\">\nimport java.util.ArrayList;\nimport java.util.List;\n\n\npublic class Vertex {\n\n\/\/\tprivate int data;\n\/\/\tprivate boolean visited;\n\/\/\tprivate List&lt;Vertex> neighbourList;\n\/\/\t\n\/\/\tpublic Vertex(int data){\n\/\/\t\tthis.data=data;\n\/\/\t\tthis.neighbourList = new ArrayList&lt;>();\n\/\/\t}\n\/\/\t\n\/\/\tpublic void addNeighbour(Vertex vertex){\n\/\/\t\tthis.neighbourList.add(vertex);\n\/\/\t}\n\/\/\n\/\/\tpublic int getData() {\n\/\/\t\treturn data;\n\/\/\t}\n\/\/\n\/\/\tpublic void setData(int data) {\n\/\/\t\tthis.data = data;\n\/\/\t}\n\/\/\n\/\/\tpublic boolean isVisited() {\n\/\/\t\treturn visited;\n\/\/\t}\n\/\/\n\/\/\tpublic void setVisited(boolean visited) {\n\/\/\t\tthis.visited = visited;\n\/\/\t}\n\/\/\n\/\/\tpublic List&lt;Vertex> getNeighbourList() {\n\/\/\t\treturn neighbourList;\n\/\/\t}\n\/\/\t\n\/\/\t@Override\n\/\/\tpublic String toString() {\n\/\/\t\treturn \"\"+this.data;\n\/\/\t}\n\t\n\tprivate String name;\n\tprivate List&lt;Vertex> neighbourList;\n\tprivate boolean visited;\n\tprivate Vertex predecessor;\n\tprivate int startingRank;\n\tprivate int finishingRank;\n\n\tpublic Vertex(String name) {\n\t\tthis.name = name;\n\t\tthis.neighbourList = new ArrayList&lt;>();\n\t}\n\n\tpublic void addNeighbour(Vertex vertex) {\n\t\tthis.neighbourList.add(vertex);\n\t}\n\n\tpublic Vertex getPredecessor() {\n\t\treturn predecessor;\n\t}\n\n\tpublic void setPredecessor(Vertex predecessor) {\n\t\tthis.predecessor = predecessor;\n\t}\n\n\tpublic int getStartingRank() {\n\t\treturn startingRank;\n\t}\n\n\tpublic void setStartingRank(int startingRank) {\n\t\tthis.startingRank = startingRank;\n\t}\n\n\tpublic String getName() {\n\t\treturn name;\n\t}\n\n\tpublic int getFinishingRank() {\n\t\treturn finishingRank;\n\t}\n\n\tpublic void setFinishingRank(int finishingRank) {\n\t\tthis.finishingRank = finishingRank;\n\t}\n\n\tpublic boolean isVisited() {\n\t\treturn visited;\n\t}\n\n\tpublic void setVisited(boolean visited) {\n\t\tthis.visited = visited;\n\t}\n\n\tpublic List&lt;Vertex> getNeighbourList() {\n\t\treturn neighbourList;\n\t}\n\n\t@Override\n\tpublic String toString() {\n\t\treturn this.name+\"- StartTime: \"+startingRank+\"- EndTime: \"+finishingRank;\n\t}\n}\n<\/pre>\n\n\n\n<p>Generating Permuntation<\/p>\n\n\n\n<pre class=\"wp-block-syntaxhighlighter-code\">import java.util.*;\n \nclass Permutation1{\n  \nstatic void permute(String s , String answer)\n{  \n    if (s.length() == 0)\n    {\n        System.out.print(answer + \"  \");\n        return;\n    }\n     \n    for(int i = 0 ;i &lt; s.length(); i++)\n    {\n        char ch = s.charAt(i);\n        String left_substr = s.substring(0, i);\n        String right_substr = s.substring(i + 1);\n        String rest = left_substr + right_substr;\n        permute(rest, answer + ch);\n    }\n}\n \n\/\/ Driver code\npublic static void main(String args[])\n{\n    Scanner scan = new Scanner(System.in);\n     \n    String s;\n    String answer=\"\";\n     \n    System.out.print(\"Enter the string : \");\n    s = scan.next();\n     \n    System.out.print(\"\\nAll possible strings are : \");\n    permute(s, answer);\n}\n}\n <\/pre>\n\n\n\n<h2><strong>Decrease by a constant factor<\/strong><\/h2>\n\n\n\n<p><strong>BinarySearch<\/strong>.java<\/p>\n\n\n\n<pre class=\"wp-block-syntaxhighlighter-code\">import java.util.*;  \npublic class BinarySearch {  \npublic static void main(String[] args) {  \n    int[] arr = {16, 19, 20, 23, 45, 56, 78, 90, 96, 100};  \n    int item, location = -1;  \n    System.out.println(\"Enter the item which you want to search\");  \n    Scanner sc = new Scanner(System.in);  \n    item = sc.nextInt();  \n    location = binarySearch(arr,0,9,item);  \n    if(location != -1)  \n    System.out.println(\"the location of the item is \"+location);  \n    else   \n        System.out.println(\"Item not found\");  \n    }  \npublic static int binarySearch(int[] a, int beg, int end, int item)  \n{  \n    int mid;  \n    if(end >= beg)   \n    {     \n        mid = (beg + end)\/2;  \n        if(a[mid] == item)  \n        {  \n            return mid+1;  \n        }  \n        else if(a[mid] &lt; item)   \n        {  \n            return binarySearch(a,mid+1,end,item);  \n        }  \n        else   \n        {  \n            return binarySearch(a,beg,mid-1,item);  \n        }  \n      \n    }  \n    return -1;   \n}  \n}  <\/pre>\n\n\n\n<p>Russian peasant multiplication<br><\/p>\n\n\n\n<p>\u2002RussianMultiplication.java<\/p>\n\n\n\n<pre class=\"wp-block-syntaxhighlighter-code\">import java.util.Scanner;\n \nclass RussianMultiplication\n{\n public static void main(String[] args)\n {\n  \/\/get the input numbers\n  Scanner sc=new Scanner(System.in);\n\n  System.out.print(\"Enter the first number: \");\n  int num1=sc.nextInt();\n  \n  System.out.print(\"Enter the second number: \");\n  int num2=sc.nextInt();\n  int product=0;\n  \n  if(num1%2!=0)\n      product=product+num2;\n  \n  System.out.println(\"Multiplicand Multiplier Product\");\n  System.out.println(\"\\t\"+num1+\"\\t\"+num2);\n  \n  while(num1!=1)\n  {\n   num1=num1\/2;\n   num2=num2*2;\n   if(num1%2!=0)\n    product=product+num2;\n   System.out.println(\"\\t\"+num1+\"\\t\"+num2);\n  }\n  \n  System.out.println(\"The product is: \"+product);\n }\n}<\/pre>\n\n\n\n<h2><strong>Variable size decrease<\/strong><\/h2>\n\n\n\n<p>Selection Sort<\/p>\n\n\n\n<div class=\"wp-block-media-text alignwide is-stacked-on-mobile\"><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" width=\"399\" height=\"285\" src=\"https:\/\/xcodeph.net\/wp-content\/uploads\/2021\/06\/Selection-Sort-Gif.gif\" alt=\"\" class=\"wp-image-544 size-full\"\/><\/figure><div class=\"wp-block-media-text__content\">\n<p class=\"has-large-font-size\">Simulation Selection Sort<\/p>\n<\/div><\/div>\n\n\n\n<p>SelectionSortExample.java<\/p>\n\n\n\n<pre class=\"wp-block-syntaxhighlighter-code\">public class SelectionSortExample {  \n    public static void selectionSort(int[] arr){  \n        for (int i = 0; i &lt; arr.length - 1; i++)  \n        {  \n            int index = i;  \n            for (int j = i + 1; j &lt; arr.length; j++){  \n                if (arr[j] &lt; arr[index]){  \n                    index = j;\/\/searching for lowest index  \n                }  \n            }  \n            int smallerNumber = arr[index];   \n            arr[index] = arr[i];  \n            arr[i] = smallerNumber;  \n        }  \n    }  \n       \n    public static void main(String a[]){  \n        int[] arr1 = {9,14,3,2,43,11,58,22};  \n        System.out.println(\"Before Selection Sort\");  \n        for(int i:arr1){  \n            System.out.print(i+\" \");  \n        }  \n        System.out.println();  \n          \n        selectionSort(arr1);\/\/sorting array using selection sort  \n         \n        System.out.println(\"After Selection Sort\");  \n        for(int i:arr1){  \n            System.out.print(i+\" \");  \n        }  \n    }  \n}  \n<\/pre>\n\n\n\n<p>Computing median<\/p>\n\n\n\n<p>Median.java<\/p>\n\n\n\n<pre class=\"wp-block-syntaxhighlighter-code\">import java.util.Scanner;\n\nclass Median \n{\n   public static void main(String args[]) \n    { \n\t\n\tScanner sc=new Scanner(System.in);\n\tSystem.out.println(\"enter a number\"); \n\tint n=sc.nextInt();\n\tdouble[] input=new double[n];\n\tSystem.out.println(\"enter \"+n+\" elements\");\n\tdouble m=0;\n\tfor(int i=0;i&lt;n;i++) \n\t{\n\t\tinput[i]=sc.nextDouble();\n\t\t\n\t}\n\tif(n%2==1)\n\t{\n\t\tm=input[(n+1)\/2-1];\n\t}\n\telse\n\t{\n\t\tm=(input[n\/2-1]+input[n\/2])\/2;\n\t}\n\t\n       System.out.println(\"Median :\"+m);  \n   }\n}<\/pre>\n\n\n\n<p>Interpolation.java<\/p>\n\n\n\n<pre class=\"wp-block-syntaxhighlighter-code\">\/\/ Java program to implement interpolation\n\/\/ search with recursion\nimport java.util.*;\n \nclass Interpolation {\n \n    \/\/ If x is present in arr[0..n-1], then returns\n    \/\/ index of it, else returns -1.\n    public static int interpolationSearch(int arr[], int lo,\n                                          int hi, int x)\n    {\n        int pos;\n \n        \/\/ Since array is sorted, an element\n        \/\/ present in array must be in range\n        \/\/ defined by corner\n        if (lo &lt;= hi &amp;&amp; x >= arr[lo] &amp;&amp; x &lt;= arr[hi]) {\n \n            \/\/ Probing the position with keeping\n            \/\/ uniform distribution in mind.\n            pos = lo\n                  + (((hi - lo) \/ (arr[hi] - arr[lo]))\n                     * (x - arr[lo]));\n \n            \/\/ Condition of target found\n            if (arr[pos] == x)\n                return pos;\n \n            \/\/ If x is larger, x is in right sub array\n            if (arr[pos] &lt; x)\n                return interpolationSearch(arr, pos + 1, hi,\n                                           x);\n \n            \/\/ If x is smaller, x is in left sub array\n            if (arr[pos] > x)\n                return interpolationSearch(arr, lo, pos - 1,\n                                           x);\n        }\n        return -1;\n    }\n \n    public static void main(String[] args)\n    {\n \n        \/\/ Array of items on which search will\n        \/\/ be conducted.\n        int arr[] = { 10, 12, 13, 16, 18, 19, 20, 21,\n                      22, 23, 24, 33, 35, 42, 47 };\n \n        int n = arr.length;\n \n        \/\/ Element to be searched\n        int x = 18;\n        int index = interpolationSearch(arr, 0, n - 1, x);\n \n        \/\/ If element was found\n        if (index != -1)\n            System.out.println(\"Element found at index \"\n                               + index);\n        else\n            System.out.println(\"Element not found.\");\n    }\n}\n <\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Basic idea of the decrease-and-conquer technique is based on exploiting the relationship between a solution to a given instance of a problem and a solution to its smaller instance. This approach is also known as incremental or inductive approach. Decrease or reduce problem instance to smaller instance of the same problem and extend solution. Conquer [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"_links":{"self":[{"href":"https:\/\/xcodeph.net\/index.php\/wp-json\/wp\/v2\/pages\/532"}],"collection":[{"href":"https:\/\/xcodeph.net\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/xcodeph.net\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/xcodeph.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/xcodeph.net\/index.php\/wp-json\/wp\/v2\/comments?post=532"}],"version-history":[{"count":6,"href":"https:\/\/xcodeph.net\/index.php\/wp-json\/wp\/v2\/pages\/532\/revisions"}],"predecessor-version":[{"id":546,"href":"https:\/\/xcodeph.net\/index.php\/wp-json\/wp\/v2\/pages\/532\/revisions\/546"}],"wp:attachment":[{"href":"https:\/\/xcodeph.net\/index.php\/wp-json\/wp\/v2\/media?parent=532"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}